},
"main": "node-datasource/main.js",
"scripts": {
- "build-basic-postbooks-package-sql": "./scripts/explode_manifest.js -m foundation-database/manifest.js -n updates.sql",
+ "build-basic-postbooks-package-sql": "./scripts/explode_manifest.js -m foundation-database/manifest.js -n postbooks_upgrade.sql",
"build-basic-empty": "./scripts/build_app.js -d empty --databaseonly -e foundation-database -i -s foundation-database/empty_data.sql",
"build-basic-postbooks-demo": "./scripts/build_app.js -d postbooks_demo --databaseonly -e foundation-database -i -s foundation-database/postbooks_demo_data.sql",
"build-basic-quickstart": "./scripts/build_app.js -d quickstart --databaseonly -e foundation-database -i -s foundation-database/quickstart_data.sql",
isLibOrm ? path.join(extension, "source") :
path.join(extension, "database/source"),
manifestOptions = {
- useSafeFoundationToolkit: isFoundation && !isFoundationExtension && extensions.length === 1,
useFrozenScripts: spec.frozen,
useFoundationScripts: baseName.indexOf('inventory') >= 0 ||
baseName.indexOf('manufacturing') >= 0 ||
dataSource = require('../../node-datasource/lib/ext/datasource').dataSource,
winston = require('winston');
- var convertFromMetasql = function (content, filename) {
+
+
+
+ var convertFromMetasql = function (content, filename, defaultSchema) {
var lines = content.split("\n"),
- schema = filename.indexOf('manufacturing') >= 0 ?
- "'xtmfg'" :
- "NULL",
+ schema = defaultSchema ? "'" + defaultSchema + "'" : "NULL",
group,
i = 2,
name,
return insertSql;
};
- var convertFromReport = function (content, filename) {
+ var convertFromReport = function (content, filename, defaultSchema) {
var lines = content.split("\n"),
name,
- tableName = filename.indexOf('manufacturing') >= 0 ?
- "xtmfg.pkgreport" :
- "report",
+ grade = "0",
+ tableName = defaultSchema ? defaultSchema + ".pkgreport" : "report",
description,
disableSql,
deleteSql,
name = lines[3].substring(" <name>".length).trim();
name = name.substring(0, name.indexOf("<"));
description = lines[4].substring(" <description>".length).trim();
- description = description.substring(0, name.indexOf("<"));
+ description = description.substring(0, description.indexOf("<"));
+ if (lines[5].indexOf("grade") >= 0) {
+ grade = lines[5].substring(" <grade>".length).trim();
+ grade = grade.substring(0, grade.indexOf("<"));
+ }
disableSql = "ALTER TABLE " + tableName + " DISABLE TRIGGER ALL;";
deleteSql = "delete from " + tableName + " " +
"where report_name = '" + name +
- "' and report_grade = 0;";
+ "' and report_grade = " + grade + ";";
insertSql = "insert into " + tableName + " (report_name, report_descrip, " +
"report_source, report_loaddate, report_grade) VALUES (" +
"'" + name + "'," +
- "'" + description + "'," +
+ "$$" + description + "$$," +
"$$" + content + "$$," +
- "now(), 0);";
+ "now(), " + grade + ");";
enableSql = "ALTER TABLE " + tableName + " ENABLE TRIGGER ALL;";
return disableSql + deleteSql + insertSql + enableSql;
};
- var convertFromScript = function (content, filename) {
+ var convertFromScript = function (content, filename, defaultSchema) {
var name = path.basename(filename, '.js'),
- tableName = filename.indexOf('manufacturing') >= 0 ?
- "xtmfg.pkgscript" :
- "unknown",
- notes = "xtMfg package",
+ tableName = defaultSchema ? defaultSchema + ".pkgscript" : "unknown",
+ notes = "", //"xtMfg package",
disableSql,
deleteSql,
insertSql,
return disableSql + deleteSql + insertSql + enableSql;
};
- var convertFromUiform = function (content, filename) {
+ var convertFromUiform = function (content, filename, defaultSchema) {
var name = path.basename(filename, '.ui'),
- tableName = filename.indexOf('manufacturing') >= 0 ?
- "xtmfg.pkguiform" :
- "unknown",
- notes = "xtMfg package",
+ tableName = defaultSchema ? defaultSchema + ".pkguiform" : "unknown",
+ notes = "", //"xtMfg package",
disableSql,
deleteSql,
insertSql,
var manifest,
databaseScripts,
extraManifestPath,
+ defaultSchema,
extraManifest,
extraManifestScripts,
alterPaths = dbSourceRoot.indexOf("foundation-database") < 0,
extensionName = manifest.name;
extensionComment = manifest.comment;
databaseScripts = manifest.databaseScripts;
+ defaultSchema = manifest.defaultSchema;
loadOrder = manifest.loadOrder || 999;
} catch (error) {
extname = path.extname(fullFilename).substring(1);
// convert special files: metasql, uiforms, reports, uijs
- scriptContents = conversionMap[extname](scriptContents, fullFilename);
+ scriptContents = conversionMap[extname](scriptContents, fullFilename, defaultSchema);
//
// Allow inclusion of js files in manifest. If it is a js file,
// use plv8 to execute it.
MIN=$2
PAT=$3
+# Usage: ./scripts/release_build.sh 4 5 0-beta
echo "BUILDING RELEASE "$MAJ"."$MIN"."$PAT""
git fetch XTUPLE
npm run-script build-basic-distribution-package-sql
npm run-script build-basic-distribution-empty
npm run-script build-basic-distribution-quickstart
-#postbooks package
+
+#postbooks upgrade
cd ../xtuple
-mkdir scripts/output/pb$MAJ$MIN$PAT
-cp scripts/xml/postbooks_package.xml scripts/output/pb$MAJ$MIN$PAT/package.xml
-cp scripts/output/toolkit.sql scripts/output/pb$MAJ$MIN$PAT
-cp scripts/output/updates.sql scripts/output/pb$MAJ$MIN$PAT
+mkdir scripts/output/postbooks-upgrade-$MAJ$MIN$PAT
+cp scripts/xml/postbooks_package.xml scripts/output/postbooks-upgrade-$MAJ$MIN$PAT/package.xml
+cp scripts/output/postbooks_upgrade.sql scripts/output/postbooks-upgrade-$MAJ$MIN$PAT
cd scripts/output
-tar -zcvf pb$MAJ$MIN$PAT.gz pb$MAJ$MIN$PAT/
-#distribution package
+tar -zcvf postbooks-upgrade-$MAJ$MIN$PAT.gz postbooks-upgrade-$MAJ$MIN$PAT/
+
+#distribution upgrade
cd ../../
-mkdir scripts/output/dist$MAJ$MIN$PAT
-cp scripts/xml/distribution_package.xml scripts/output/dist$MAJ$MIN$PAT/package.xml
-cp scripts/output/updates.sql scripts/output/dist$MAJ$MIN$PAT
-cp scripts/output/inventory_upgrade.sql scripts/output/dist$MAJ$MIN$PAT
+mkdir scripts/output/distribution-upgrade-$MAJ$MIN$PAT
+cp scripts/xml/distribution_package.xml scripts/output/distribution-upgrade-$MAJ$MIN$PAT/package.xml
+cp scripts/output/postbooks_upgrade.sql scripts/output/distribution-upgrade-$MAJ$MIN$PAT
+cp scripts/output/inventory_upgrade.sql scripts/output/distribution-upgrade-$MAJ$MIN$PAT
+cp scripts/output/distribution_upgrade.sql scripts/output/distribution-upgrade-$MAJ$MIN$PAT
cd scripts/output
-tar -zcvf dist$MAJ$MIN$PAT.gz dist$MAJ$MIN$PAT/
-#postbooks to distribution
+tar -zcvf distribution-upgrade-$MAJ$MIN$PAT.gz distribution-upgrade-$MAJ$MIN$PAT/
+
+#distribution install
cd ../../
-mkdir scripts/output/pbtodist$MAJ$MIN$PAT
-cp scripts/xml/distribution_install.xml scripts/output/pbtodist$MAJ$MIN$PAT/package.xml
-cp scripts/output/inventory_basic_install.sql scripts/output/pbtodist$MAJ$MIN$PAT
-cp scripts/output/inventory_upgrade.sql scripts/output/pbtodist$MAJ$MIN$PAT
+mkdir scripts/output/distribution-install-$MAJ$MIN$PAT
+cp scripts/xml/distribution_install.xml scripts/output/distribution-install-$MAJ$MIN$PAT/package.xml
+cp scripts/output/postbooks_upgrade.sql scripts/output/distribution-install-$MAJ$MIN$PAT
+cp scripts/output/inventory_basic_install.sql scripts/output/distribution-install-$MAJ$MIN$PAT
+cp scripts/output/inventory_upgrade.sql scripts/output/distribution-install-$MAJ$MIN$PAT
+cp scripts/output/distribution_basic_install.sql scripts/output/distribution-install-$MAJ$MIN$PAT
+cp scripts/output/distribution_upgrade.sql scripts/output/distribution-install-$MAJ$MIN$PAT
cd scripts/output
-tar -zcvf pbtodist$MAJ$MIN$PAT.gz pbtodist$MAJ$MIN$PAT/
-#xtmfg packages
+tar -zcvf distribution-install-$MAJ$MIN$PAT.gz distribution-install-$MAJ$MIN$PAT/
+
+#manufacturing upgrade
cd ../../
-mkdir scripts/output/xtmfg$MAJ$MIN$PAT
-cp scripts/xml/xtmfg_package.xml scripts/output/xtmfg$MAJ$MIN$PAT/package.xml
-cp scripts/output/updates.sql scripts/output/xtmfg$MAJ$MIN$PAT
-cp scripts/output/inventory_upgrade.sql scripts/output/xtmfg$MAJ$MIN$PAT
-cp scripts/output/manufacturing_upgrade.sql scripts/output/xtmfg$MAJ$MIN$PAT
+mkdir scripts/output/manufacturing-upgrade-$MAJ$MIN$PAT
+cp scripts/xml/xtmfg_package.xml scripts/output/manufacturing-upgrade-$MAJ$MIN$PAT/package.xml
+cp scripts/output/postbooks_upgrade.sql scripts/output/manufacturing-upgrade-$MAJ$MIN$PAT
+cp scripts/output/inventory_upgrade.sql scripts/output/manufacturing-upgrade-$MAJ$MIN$PAT
+cp scripts/output/manufacturing_upgrade.sql scripts/output/manufacturing-upgrade-$MAJ$MIN$PAT
cd scripts/output
-tar -zcvf xtmfg_upgrade-$MAJ$MIN$PAT.gz xtmfg$MAJ$MIN$PAT/
+tar -zcvf manufacturing-upgrade-$MAJ$MIN$PAT.gz manufacturing-upgrade-$MAJ$MIN$PAT/
+#manufacturing install
cd ../../
-mkdir scripts/output/xtmfg_install$MAJ$MIN$PAT
-cp scripts/xml/xtmfg_install.xml scripts/output/xtmfg_install$MAJ$MIN$PAT/package.xml
-cp scripts/output/manufacturing_basic_install.sql scripts/output/xtmfg_install$MAJ$MIN$PAT
-cp scripts/output/manufacturing_upgrade.sql scripts/output/xtmfg_install$MAJ$MIN$PAT
+mkdir scripts/output/manufacturing-install-$MAJ$MIN$PAT
+cp scripts/xml/xtmfg_package.xml scripts/output/manufacturing-install-$MAJ$MIN$PAT/package.xml
+cp scripts/output/postbooks_upgrade.sql scripts/output/manufacturing-install-$MAJ$MIN$PAT
+cp scripts/output/inventory_basic_install.sql scripts/output/manufacturing-install-$MAJ$MIN$PAT
+cp scripts/output/inventory_upgrade.sql scripts/output/manufacturing-install-$MAJ$MIN$PAT
+cp scripts/output/manufacturing_basic_install.sql scripts/output/manufacturing-install-$MAJ$MIN$PAT
+cp scripts/output/manufacturing_upgrade.sql scripts/output/manufacturing-install-$MAJ$MIN$PAT
cd scripts/output
-tar -zcvf xtmfg_install-$MAJ$MIN$PAT.gz xtmfg_install$MAJ$MIN$PAT/
+tar -zcvf manufacturing-install-$MAJ$MIN$PAT.gz manufacturing-install-$MAJ$MIN$PAT/
ADMIN=admin
PORT=5432
#cleanup
cd ../..
-rm -rf scripts/output/pb$MAJ$MIN$PAT/
-rm -rf scripts/output/updates.sql
-rm -rf scripts/output/toolkit.sql
-rm -rf scripts/output/pbtodist$MAJ$MIN$PAT/
-rm -rf scripts/output/dist$MAJ$MIN$PAT/
+rm -rf scripts/output/postbooks-upgrade-$MAJ$MIN$PAT/
+rm -rf scripts/output/postbooks_upgrade.sql
+rm -rf scripts/output/distribution-install-$MAJ$MIN$PAT/
+rm -rf scripts/output/distribution-upgrade-$MAJ$MIN$PAT/
rm -rf scripts/output/distribution_upgrade.sql
rm -rf scripts/output/distribution_basic_install.sql
rm -rf scripts/output/inventory_basic_install.sql
rm -rf scripts/output/inventory_upgrade.sql
-rm -rf scripts/output/xtmfg$MAJ$MIN$PAT/
-rm -rf scripts/output/xtmfg_install$MAJ$MIN$PAT/
+rm -rf scripts/output/manufacturing-install-$MAJ$MIN$PAT/
+rm -rf scripts/output/manufacturing-upgrade-$MAJ$MIN$PAT/
rm -rf scripts/output/manufacturing_basic_install.sql
rm -rf scripts/output/manufacturing_upgrade.sql
-<package id = "pbtodist450Beta"
- version = "4.5.0Beta"
+<package id = "distribution-install-450"
+ version = "4.5.0"
developer = "xTuple"
descrip = "load PostBooks resources"
updater = "2.2.4" >
</message>
</prerequisite>
+ <script file="postbooks_upgrade.sql" />
<script file="inventory_basic_install.sql" />
<script file="inventory_upgrade.sql" />
+ <script file="distribution_basic_install.sql" />
+ <script file="distribution_upgrade.sql" />
</package>
-<package id = "dist450Beta"
- version = "4.5.0Beta"
+<package id = "distribution-upgrade-450"
+ version = "4.5.0"
developer = "xTuple"
descrip = "load PostBooks resources"
updater = "2.2.4" >
</message>
</prerequisite>
- <script file="updates.sql" />
+ <script file="postbooks_upgrade.sql" />
<script file="inventory_upgrade.sql" />
+ <script file="distribution_upgrade.sql" />
</package>
-<package id = "pb450Beta"
- version = "4.5.0Beta"
+<package id = "postbooks-upgrade-450"
+ version = "4.5.0"
developer = "xTuple"
descrip = "load PostBooks resources"
updater = "2.2.4" >
</message>
</prerequisite>
- <script file="updates.sql" />
+ <script file="postbooks_upgrade.sql" />
</package>
-<package id = "xtmfg_install450Beta"
- version = "4.5.0Beta"
+<package id = "manufacturing-install-450"
+ version = "4.5.0"
developer = "xTuple"
descrip = "load PostBooks resources"
updater = "2.2.4" >
</message>
</prerequisite>
+ <script file="postbooks_upgrade.sql" />
+ <script file="inventory_basic_install.sql" />
+ <script file="inventory_upgrade.sql" />
<script file="manufacturing_basic_install.sql" />
<script file="manufacturing_upgrade.sql" />
-<package id = "xtmfg450Beta"
- version = "4.5.0Beta"
+<package id = "manufacturing-upgrade-450"
+ version = "4.5.0"
developer = "xTuple"
descrip = "load PostBooks resources"
updater = "2.2.4" >
</message>
</prerequisite>
+ <script file="postbooks_upgrade.sql" />
+ <script file="inventory_upgrade.sql" />
<script file="manufacturing_upgrade.sql" />
</package>