jlgrock / ClosureJavascriptFramework

A group of plug-ins that can be used in conjunction with maven to execute the Google Closure Compiler on JavaScript code. This Framework allows for scaling and modularity.
MIT License
16 stars 7 forks source link

Upgrade to the most recent compiler version #36

Closed lukas-vlcek closed 10 years ago

lukas-vlcek commented 11 years ago

Hi,

I think there is a chance to upgrade compiler, see http://code.google.com/p/closure-compiler/wiki/Releases for the most recent version.

Is any upgrade to the road map soon?

Regards, Lukas

jlgrock commented 11 years ago

Absolutely! Sorry about that. I thought the system was going to email me whenever that wiki page got updated, but apparently that feature doesn't work so hot. I can roll out a change for each compiler upgrade in the last few months and test them out on our current code to make sure it doesn't have any crazy side effects (which hasn't been the case for quite a while, since the google code got a bit more stable)

lukas-vlcek commented 11 years ago

Excellent, let me know if you need any help.

Just an idea: may be you can try only the latest version and if it works fine then just ignore the other versions?

jlgrock commented 11 years ago

OK, so I've tested out the newest version of the compiler but am not sure which version of the library to use. From the logs, they were not exactly stable on the date 7/22/2013 (which is where I'm guessing they got the version "v20130722"). Thoughts? Should I just use the newest version of the library? BTW - I'm still trying to figure out how to auto-package from their change to the Git repo.

lukas-vlcek commented 10 years ago

Hi Justin,

did you have a chance to look at this? My understanding is that as of writing the most recent version of compiler is v2013104 (see https://code.google.com/p/closure-compiler/wiki/Maven#Releases and http://mvnrepository.com/artifact/com.google.javascript/closure-compiler).

With closure library it seems to be a bit more tricky. They do not seem to do any release tags or anything like that. My understanding is they always recommend using the most recent version available in master so I think it might be safe to take commit that is as close to compiler release date as possible and then you can do your release of it (http://mvnrepository.com/artifact/com.github.jlgrock.javascript/closure-library).

WDYT?

I would like to upgrade to the most recent version of library/compiler now. Do you think you will have a chance to look at this? I can help if you need.

jlgrock commented 10 years ago

Hi Lukas, I haven't been watching this as vehemently as I should have nor paying attention to side projects as the job situation over here got interesting.

Basically, the process was that I packaged the js library myself, and I would target the same date as the closure compiler. I'll look at doing this over the weekend and make another release.

I've also made you a committer, so if you want to update it or whatever and I can just release it. I don't know that this plugin will get a large following at this point because, as I've been messing with other build tools such as Gradle and Grunt and they make things much easier to just download and use. People using advanced JavaScript libraries are likely to just bypass maven altogether anyways.

I do still find this plugin relevant for the ability to use the import statements which has not been reproduced anywhere outside of using a combination of jszip with require.js, so I'm going to keep supporting this though. Feel free to help take direction, as the project that I am using it for is pretty much locked into a release now and won't be changing any time soon.

lukas-vlcek commented 10 years ago

Hi Grant,

thanks, I appreciate this. I will try to help. As for the compiler and library versions - did you notice this thread on ML? https://groups.google.com/forum/#!topic/closure-library-discuss/m6IPhhu9bG8 May be it can help in establishing process for new releases.

As for the Gradle and Grunt (or http://gulpjs.com/) I understand this. I may end up with one of these as well going forward but I do not need to hurry up. For now I am happy with maven based approach (mainly due to one project where I use closure and it needs to be built by maven).

jlgrock commented 10 years ago

Yeah, that thread pretty much sums it up, I think. Basically "we don't really keep track of where they fit together, but it should if you just use the newest one..." which makes 0 sense, but whatever. I can do multiple releases if necessary. I'm going to do a release first that matches on the same date (version "v20131014" of the compiler and version "99cd91" of the library) because hopefully the closure folks tested the compiler before releasing it. I can then do another release if you want a different version of the library.

I am currently stuck in Sonatype release because my GPG key hasn't propagated throughout the internet yet. As soon as it does, I'll finish the release.

jlgrock commented 10 years ago

Wow. That was beyond annoying. Apparently due to MRELEASE-812 there is a problem with releasing with git now. So the release took FOREVER. Luckily, I found the dependency workaround. Otherwise I was doing every release manually, which just takes forever.

Anyways, I have tested it out a bit and pushed it up there. Let me know if it works for you or if you have issues with it.

jlgrock commented 10 years ago

Oh, btw, I just released to Sonatype, so the push from Sonatype to Maven Central may not be for a few hours. Not sure how long it takes to sync up.

jlgrock commented 10 years ago

Did it test ok for you?

lukas-vlcek commented 10 years ago

Hi @jlgrock It works like a charm for me. Already upgraded all my projects to newer compiler and library (and verified compiler now supports new things, like enhanced templating in JSDoc, though it still feels scary... :smile:). Thanks a lot, I think this ticket can be closed.