Publish Vulpes Preview 15 sources for desktop, Android and Tundra

Share Gaia assets and adapters, keep private profiles and development documents local, and update both public READMEs.
This commit is contained in:
OverSu 2026-09-30 23:13:03 +02:00
commit b38dea0597
25901 changed files with 9982925 additions and 369 deletions

View file

@ -0,0 +1,60 @@
'use strict';
/* jshint node: true */
var utils = require('utils');
function createPresetsFile(options) {
var presetsFile = utils.getFile(options.APP_DIR, 'js/common', 'presets.js');
var config = JSON.parse(
utils.getFileContent(
utils.getFile(options.APP_DIR, 'build', 'config.json')
)
);
var presets = utils.getDistributionFileContent(
'calendar',
config,
options.GAIA_DISTRIBUTION_DIR
);
utils.writeContent(presetsFile, 'define(' + presets + ');');
}
exports.execute = function(options) {
var appName = utils.basename(options.APP_DIR);
var config = utils.getFile(options.APP_DIR, 'build', 'calendar.build.js');
var rjsPath = utils.joinPath(options.GAIA_DIR, 'build', 'r.js');
var requirejs;
if (utils.isNode()) {
requirejs = require(rjsPath);
} else {
var sandbox = utils.createSandbox();
sandbox.arguments = [];
sandbox.requirejsAsLib = true;
sandbox.print = function() {
utils.log(appName, Array.prototype.join.call(arguments, ' '));
};
utils.runScriptInSandbox(rjsPath, sandbox);
requirejs = sandbox.requirejs;
}
createPresetsFile(options);
// logLevel set 4 for silent, set 0 for all
var log = 'logLevel=' + (options.VERBOSE === '1' ? '0' : '4');
var optimize = 'optimize=none';
var build = new Promise(function(resolve, reject) {
requirejs.optimize([config.path, optimize, log], resolve, reject);
});
return build
.then(function() {
utils.log(appName, 'require.js optimize done');
}).catch(function(err) {
utils.log(appName, 'require.js optimize failed');
utils.log(appName, err);
});
};

View file

@ -0,0 +1,86 @@
{
appDir: '..',
baseUrl: 'js',
dir: '../../../build_stage/calendar',
fileExclusionRegExp: /^\.|^build$|^test$/,
mainConfigFile: '../js/main.js',
optimize: 'none',
logLevel: 2,
// Be sure to normalize all define() calls by extracting
// dependencies so Function toString is not needed, and
// lower capability devices like Tarako can optimize
// memory by discarding function sources. This is
// automatically done when an 'optimize' value other than
// 'none' is used. This setting makes sure it happens for
// builds where 'none' is used for 'optimize'.
normalizeDirDefines: 'all',
modules: [
{
create: true,
name: 'bundle',
include: [
'ext/curl',
'main',
'views/errors',
'views/month',
'views/month_day_agenda',
'views/time_header',
'views/view_selector'
]
},
{
create: true,
name: 'lazy_loaded',
include: [
'views/current_time',
'views/week',
'views/advanced_settings',
'views/create_account',
'views/day',
'views/modify_account',
'views/modify_event',
'views/settings',
'views/view_event'
],
exclude: ['bundle']
},
{
name: 'caldav_worker',
include: [
// This is needed so that we can use the rjs api right off the bat
// in the worker rather than needing to load it via importScripts
// before calling require, define, etc.
'ext/alameda',
// We need to load the caldav wrapper and external libs dynamically
// since we have to prime the global environment for the caldav
// and ical libraries before loading them (they use the global
// variable window to figure out that they're in the browser vs. node
// env which isn't a worker default). We should fix that upstream.
'service/caldav',
'worker/initialize'
],
exclude: [
'ext/caldav',
'ext/ical'
]
},
{
name: 'ext/caldav'
},
{
name: 'ext/ical'
}
],
paths: {
prim: 'empty:',
shared: '../shared/js'
},
// Keeping build dir since Makefile cleans it up and
// preps build dir with the shared directory
keepBuildDir: true,
removeCombined: true
}

View file

@ -0,0 +1,55 @@
{
"google": {
"providerType": "Caldav",
"group": "remote",
"authenticationType": "oauth2",
"apiCredentials": {
"tokenUrl": "https://accounts.google.com/o/oauth2/token",
"authorizationUrl": "https://accounts.google.com/o/oauth2/auth",
"user_info": {
"url": "https://www.googleapis.com/oauth2/v3/userinfo",
"field": "email"
},
"client_secret": "jQTKlOhF-RclGaGJot3HIcVf",
"client_id": "605300196874-1ki833poa7uqabmh3hq6u1onlqlsi54h.apps.googleusercontent.com",
"scope": "https://www.googleapis.com/auth/calendar https://www.googleapis.com/auth/userinfo.email",
"redirect_uri": "https://oauth.gaiamobile.org/authenticated"
},
"options": {
"domain": "https://apidata.googleusercontent.com",
"entrypoint": "/caldav/v2/",
"providerType": "Caldav"
}
},
"yahoo": {
"providerType": "Caldav",
"group": "remote",
"options": {
"domain": "https://caldav.calendar.yahoo.com",
"entrypoint": "/",
"providerType": "Caldav",
"user": "@yahoo.com",
"usernameType": "email"
}
},
"caldav": {
"providerType": "Caldav",
"group": "remote",
"options": {
"domain": "",
"entrypoint": "",
"providerType": "Caldav"
}
},
"local": {
"singleUse": true,
"providerType": "Local",
"group": "local",
"options": {
"providerType": "Local"
}
}
}