diff --git a/package.json b/package.json index 721e8579ee..6676337c99 100644 --- a/package.json +++ b/package.json @@ -103,4 +103,4 @@ "path": "node_modules/ionic-cz-conventional-changelog" } } -} \ No newline at end of file +} diff --git a/scripts/ci/deploy.sh b/scripts/ci/deploy.sh index 67a7b8b1f1..7adba58d2e 100755 --- a/scripts/ci/deploy.sh +++ b/scripts/ci/deploy.sh @@ -19,14 +19,18 @@ function run { VERSION=$(readJsonProp "package.json" "version") if [[ "$OLD_VERSION" != "$VERSION" ]]; then - # ./scripts/bump/release.sh --new-version="$VERSION" + ./scripts/bump/release.sh --new-version="$VERSION" IS_RELEASE=true VERSION_NAME=$(readJsonProp "package.json" "version") else - # ./scripts/bump/nightly.sh --build-number=$BUILD_NUMBER + ./scripts/bump/nightly.sh --build-number=$BUILD_NUMBER + IS_RELEASE=false VERSION_NAME="nightly" fi + export IS_RELEASE=$IS_RELEASE + export OLD_VERSION=$OLD_VERSION + # Install gulp globally for site deploy script. # npm install -g gulp diff --git a/scripts/docs/deploy.sh b/scripts/docs/deploy.sh index b36511ac2d..4ec6751b1a 100755 --- a/scripts/docs/deploy.sh +++ b/scripts/docs/deploy.sh @@ -22,11 +22,31 @@ function run { #compile API Demos ./node_modules/.bin/gulp demos --production=true - # process new docs - if [ -d "$DOCS_DEST/api" ]; then - rm -R $DOCS_DEST/api + # if release, copy old version to seperate folder and blow out docs root api + if $IS_RELEASE; then + + echo "BUILDING RELEASE DOCS" + + if [ -d "$DOCS_DEST/api" ]; then + rm -R $DOCS_DEST/api + fi + if [ -d "$DOCS_DEST/nightly/api" ]; then + rm -R $DOCS_DEST/nightly/api + fi + + ./node_modules/.bin/gulp docs --doc-version="$VERSION_NAME" --initial-build true + ./node_modules/.bin/gulp docs --doc-version="$VERSION_NAME" + ./node_modules/.bin/gulp docs --doc-version="nightly" + + else + + if [ -d "$DOCS_DEST/nightly/api" ]; then + rm -R $DOCS_DEST/nightly/api + fi + + ./node_modules/.bin/gulp docs --doc-version="$VERSION_NAME" + fi - ./node_modules/.bin/gulp docs --doc-version="$VERSION_NAME" # compile sass vars json for ionic-site docs ./node_modules/.bin/gulp docs.sass-variables diff --git a/scripts/docs/dgeni-config.js b/scripts/docs/dgeni-config.js index df8d881882..492021a22c 100644 --- a/scripts/docs/dgeni-config.js +++ b/scripts/docs/dgeni-config.js @@ -11,7 +11,7 @@ var _ = require('lodash'); var config = require('../config.json'); // Define the dgeni package for generating the docs -module.exports = function(currentVersion) { +module.exports = function(currentVersion, initialVersionBuild) { return new Package('ionic-v2-docs', [jsdocPackage, nunjucksPackage, typescriptPackage, @@ -70,10 +70,10 @@ module.exports = function(currentVersion) { //First semver valid version is latest var latestVersion = _.find(versions, semver.valid); versions = versions.map(function(version) { - //Latest version is in docs root - //var folder = version == latestVersion ? '' : version; - // Instead set nightly as docs root - var folder = version == 'nightly' ? '' : version; + // Set nightly as docs root + //var folder = version == 'nightly' ? '' : version; + //Instead set latest version in docs root if not initial build + var folder = (version == latestVersion) && !initialVersionBuild ? '' : version; return { href: path.join('/' + config.v2DocsDir, folder), folder: folder, @@ -84,7 +84,8 @@ module.exports = function(currentVersion) { var versionData = { list: versions, current: _.find(versions, { name: currentVersion }), - latest: _.find(versions, {name: latestVersion}) || _.first(versions) + latest: _.find(versions, {name: latestVersion}) || _.first(versions), + initialVersionBuild: initialVersionBuild }; renderDocsProcessor.extraData.version = versionData; diff --git a/scripts/docs/gulp-tasks.js b/scripts/docs/gulp-tasks.js index 1305de56bf..ec1186cd15 100644 --- a/scripts/docs/gulp-tasks.js +++ b/scripts/docs/gulp-tasks.js @@ -5,12 +5,13 @@ module.exports = function(gulp, flags) { var semver = require('semver'); var docVersion = flags['doc-version'] || 'nightly'; + var initialVersionBuild = flags['initial-build'] || false; if (docVersion != 'nightly' && !semver.valid(docVersion)) { console.log('Usage: gulp docs --doc-version=(nightly|versionName)\nversionName must be a valid semver version.'); return process.exit(1); } try { - var ionicPackage = require('./dgeni-config')(docVersion); + var ionicPackage = require('./dgeni-config')(docVersion, initialVersionBuild); var dgeni = new Dgeni([ionicPackage]); return dgeni.generate(); } catch (err) { diff --git a/scripts/docs/processors/index-page.js b/scripts/docs/processors/index-page.js index 81ed8cd4df..25dfd4e046 100644 --- a/scripts/docs/processors/index-page.js +++ b/scripts/docs/processors/index-page.js @@ -10,7 +10,9 @@ module.exports = function indexPage(renderDocsProcessor) { var currentVersion = versionData.current.name; var latestVersion = versionData.latest.name; - var versionPath = currentVersion == 'nightly' ? '' : currentVersion; + // var versionPath = currentVersion == 'nightly' ? '' : currentVersion; + // If latest and not initial build, set path to docs root + var versionPath = (currentVersion == latestVersion) && !versionData.initialVersionBuild ? '' : currentVersion; docs.push({ docType: 'index-page', diff --git a/scripts/docs/templates/api_menu.template.html b/scripts/docs/templates/api_menu.template.html index c24fc8287f..9cd013e797 100644 --- a/scripts/docs/templates/api_menu.template.html +++ b/scripts/docs/templates/api_menu.template.html @@ -1,12 +1,14 @@ <@ for ver in version.list @> + <@ if ver.name != version.latest.name @> <@ if loop.first @> {% if page.versionHref == "<$ ver.href $>" %} <@ else @> {% elsif page.versionHref == "<$ ver.href $>" %} <@ endif @> {% include v2_fluid/api_menu_flat_<$ ver.name $>.html %} + <@ endif @> <@ endfor @> <# make the last case always be to show latest version #> {% else %} - {% include v2_fluid/api_menu_flat_nightly.html %} + {% include v2_fluid/api_menu_flat_<$ version.latest.name $>.html %} {% endif %}