I have made changes to cordova-lib/src/plugman/prepare-browserify.js to support this work for cordova.js.
It is now: 1) Computing commit Ids. I had to update my cordova-js branch to set cwd to be cordova-js repo root. That way `git rev-list HEAD --max-count=1` is always run from the right location. 2) Running platform version scripts to get platformVersion. I realized that it was better to use the existing version scripts each platform already had. Much better than me grabbing the version from platform_www/cordova.js files. Cordova-lib work is at https://github.com/stevengill/cordova-lib/tree/cb-7219 Cordova-js work is at https://github.com/stevengill/cordova-js/tree/cb-7219 The generated cordova.js files all have commitIds at the top of the file as a comment. If it is a browserify build, it will have that as a comment at the top of the file as well. On Tue, Aug 12, 2014 at 11:22 AM, Steven Gill <[email protected]> wrote: > Thanks for the feedback! I have made the changes on my branch. Here is the > commit with the suggested changes. > > > https://github.com/stevengill/cordova-js/commit/71113eb61cfba1a354b8bdc61a72b9d73a43c287 > > > On Tue, Aug 12, 2014 at 10:42 AM, Jesse <[email protected]> wrote: > >> so did I, good otherwise. >> >> @purplecabbage >> risingj.com >> >> >> On Tue, Aug 12, 2014 at 7:58 AM, Andrew Grieve <[email protected]> >> wrote: >> >> > add some nitpick-type comments on your commit, but looks good! >> > >> > >> > On Mon, Aug 11, 2014 at 8:45 PM, Steven Gill <[email protected]> >> > wrote: >> > >> > > So I have removed cordova.version and added cordova.platformVersion on >> > the >> > > branch cb-7219 on my repo. Check it out at >> > > https://github.com/stevengill/cordova-js/tree/cb-7219. It adds the >> > output >> > > from "git rev-list HEAD --max-count=1" at the top as a comment in >> > > cordova.js and creates a constant named "PLATFORM_VERSION_BUILD_LABEL" >> > > which we use to set cordova.platformVersion. >> > > >> > > To create cordova.js, run: >> > > grunt --platformVersion=3.6.0 >> > > or >> > > grunt compile --platformVersion=3.6.0 >> > > or >> > > grunt compile:android --platformVersion=3.6.0 >> > > or >> > > grunt compile-browserify --platformVersion=3.6.0 >> > > >> > > >> > > I still have a bit of work to do in >> > > cordova-lib/src/plugman/prepare-browserify.js >> > > A) get it to compute commit ids >> > > B) Create utility function to grab platformVersion from >> > > "platform_www/cordova.js" >> > > >> > > If you all like it, I can merge it into master. Coho will need some >> > updates >> > > to support this too. >> > > >> > > >> > > On Fri, Aug 8, 2014 at 5:40 PM, Steven Gill <[email protected]> >> > > wrote: >> > > >> > > > Thanks for the comments! >> > > > >> > > > Currently, if you build cordova.js and the version is 3.5.0-dev, it >> > will >> > > > make the build label 3.5.0-dev + output from (git rev-list HEAD >> > > > --max-count=1 --abbrev-commit). >> > > > >> > > > If the version in 3.5.0(no dev), the build label is just 3.5.0 (no >> > commit >> > > > sha hash). >> > > > >> > > > I can make it so the build-label adds the commit sha as a comment at >> > the >> > > > top always. >> > > > >> > > > I will also look to add the entire command line args to create it in >> > the >> > > > comments at the top. >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > >> > > > On Fri, Aug 8, 2014 at 4:38 PM, Jesse <[email protected]> >> wrote: >> > > > >> > > >> Yes, the output cordova.js file should contain the sha hash and >> > probably >> > > >> also, the entire command-line args used to create it. So we can >> track >> > > >> back >> > > >> issues. >> > > >> >> > > >> @purplecabbage >> > > >> risingj.com >> > > >> >> > > >> >> > > >> On Fri, Aug 8, 2014 at 4:27 PM, Shazron <[email protected]> wrote: >> > > >> >> > > >> > Sounds good for #1. For traceability purposes, will the sha hash >> be >> > in >> > > >> > the .js still as a comment, etc? >> > > >> > ```git describe``` >> > > >> > >> > > >> > On Thu, Aug 7, 2014 at 7:07 AM, Andrew Grieve < >> [email protected] >> > > >> > > >> > wrote: >> > > >> > > That all sounds good to me Steve! >> > > >> > > >> > > >> > > >> > > >> > > On Wed, Aug 6, 2014 at 6:48 PM, Steven Gill < >> > [email protected] >> > > > >> > > >> > wrote: >> > > >> > > >> > > >> > >> I have started to look into adding cordova.platformVersion to >> > > >> > cordova.js. >> > > >> > >> Issue [1]. >> > > >> > >> >> > > >> > >> Trying to figure out the best way to implement this. >> > > >> > >> >> > > >> > >> One potential method. >> > > >> > >> >> > > >> > >> 1) Pass in platformVersion to cordova.js during build step. >> Make >> > > coho >> > > >> > >> handle it during release process: >> > > >> > >> First off, cordovajs doesn't get branched and tagged on its >> own >> > > >> anymore >> > > >> > >> >> > > >> > >> Non-Browserify use case >> > > >> > >> A) coho prepare-release-branch --version 3.5.0 -r android >> > > >> > >> - This step would build cordova-js, inject >> > > cordova.platformVersion >> > > >> > based >> > > >> > >> on the --version being passed in. >> > > >> > >> - Updating version in package.json files >> > > >> > >> - Updating version numbers >> > > >> > >> - Creating release branches >> > > >> > >> >> > > >> > >> B) coho tag-release --version 3.5.0 -r android >> > > >> > >> - Tag cordova-android "3.5.0" >> > > >> > >> - Tag cordova-js "android-3.5.0" >> > > >> > >> >> > > >> > >> Browserify use case >> > > >> > >> Currently, cordova.version is set to 'N/A' in browserify >> builds >> > of >> > > >> > >> cordova.js. >> > > >> > >> >> > > >> > >> We would probably have to create a utility function that grabs >> > the >> > > >> > >> cordova.platformVersion property from >> "platform_www/cordova.js" >> > > >> files. >> > > >> > >> These are the cordova.js files that get bundled at release >> with >> > the >> > > >> > >> platforms from the non-browserify use case. >> > > >> > >> >> > > >> > >> Use the version when building cordova.js in >> > prepare-browserify.js. >> > > >> > >> >> > > >> > >> >> > > >> > >> Thoughts? Other suggestions? >> > > >> > >> >> > > >> > >> >> > > >> > >> [1] https://issues.apache.org/jira/browse/CB-7219 >> > > >> > >> >> > > >> > >> > > >> >> > > > >> > > > >> > > >> > >> > >
