| Summary: | Be able to specify the jdt.core used for compiling | ||
|---|---|---|---|
| Product: | [Technology] CBI | Reporter: | Paul Webster <pwebster> |
| Component: | prototype | Assignee: | CBI Dummy user <cbi.prototype-inbox> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | normal | ||
| Priority: | P3 | CC: | david_williams, igor, thanh.ha |
| Version: | unspecified | ||
| Target Milestone: | --- | ||
| Hardware: | PC | ||
| OS: | Windows 7 | ||
| Whiteboard: | |||
| Bug Depends on: | |||
| Bug Blocks: | 372792, 397852 | ||
|
Description
Paul Webster
From bug 389454 ---- You can force Tycho to use the latest JDT version with the following configuration: <plugin> <groupId>org.eclipse.tycho</groupId> <artifactId>tycho-compiler-plugin</artifactId> <dependencies> <dependency> <groupId>org.eclipse.tycho</groupId> <artifactId>org.eclipse.jdt.core</artifactId> <version>3.8.1.v20120531-0637</version> </dependency> </dependencies> </plugin> Thanh, if this is all it takes can we add this to the root POM. I'd wait until after we've sorted out the root file/doc. PW Igor, does this only work for org.eclipse.tycho/org.eclipse.jdt.core ? So something published through tycho? PW (In reply to comment #1) > From bug 389454 > > ---- > You can force Tycho to use the latest JDT version with the following > configuration: > > > <plugin> > <groupId>org.eclipse.tycho</groupId> > <artifactId>tycho-compiler-plugin</artifactId> > <dependencies> > <dependency> > <groupId>org.eclipse.tycho</groupId> > <artifactId>org.eclipse.jdt.core</artifactId> > <version>3.8.1.v20120531-0637</version> > </dependency> > </dependencies> > </plugin> I pushed this change to R3 and R4 maintenance branches. http://git.eclipse.org/c/platform/eclipse.platform.releng.aggregator.git/commit/?h=R3_8_maintenance&id=3dd1b92cd93ea53bcc59bdfe321e82971a9d8b0a http://git.eclipse.org/c/platform/eclipse.platform.releng.aggregator.git/commit/?h=R4_2_maintenance&id=7e0bf57eb56a9093d5fc89d041826b7085c32a17 (In reply to comment #3) > Igor, does this only work for org.eclipse.tycho/org.eclipse.jdt.core ? So > something published through tycho? > > PW No, Tycho is not involved here. Any version of jdt.core resolvable from a maven repository using maven artifact coordinate will work. (In reply to comment #4) > (In reply to comment #1) > > From bug 389454 > > > > ---- > > You can force Tycho to use the latest JDT version with the following > > configuration: > > > > > > <plugin> > > <groupId>org.eclipse.tycho</groupId> > > <artifactId>tycho-compiler-plugin</artifactId> > > <dependencies> > > <dependency> > > <groupId>org.eclipse.tycho</groupId> > > <artifactId>org.eclipse.jdt.core</artifactId> > > <version>3.8.1.v20120531-0637</version> > > </dependency> > > </dependencies> > > </plugin> > > I pushed this change to R3 and R4 maintenance branches. > > http://git.eclipse.org/c/platform/eclipse.platform.releng.aggregator.git/ > commit/?h=R3_8_maintenance&id=3dd1b92cd93ea53bcc59bdfe321e82971a9d8b0a > > http://git.eclipse.org/c/platform/eclipse.platform.releng.aggregator.git/ > commit/?h=R4_2_maintenance&id=7e0bf57eb56a9093d5fc89d041826b7085c32a17 To be clear, from this point on, it is platform team responsibility to maintain version of jdt.core used by the platform build. Any new version we include in Tycho will be ignored. (In reply to comment #5) > > No, Tycho is not involved here. Any version of jdt.core resolvable from a > maven repository using maven artifact coordinate will work. OK, that makes sense. PW Seems this is fixed. PW Can you educate me ... you say "Any version of jdt.core resolvable from a maven repository using maven artifact coordinate will work." How would we then specify "Kepler M4 version"? Doubt that exists in "a maven repository"? Appreciate any advice. This is a required use case since we in Platform typically update the compiler each milestone ... with the compiler from the previous milestone ... as a way to test the compiler through a development cycle. Thanks, I'll also note here, while it may be controversial, or "not for everyone", we are actually using the M4 compiler for our PDE based Juno SR2 releases, as mentioned in bug 396690. So ... if some wanted to use CBI to really duplicate our SR2 release, the compiler used should not be the "3.8.1" version that is currently specified, but the Kepler M4 version. [The rationale for using an "unreleased compiler" (besides being easier :) is that a) there's often improvements and fixes that are important to pick up, and b) fair confidence that it is "correct" (i.e. might miss or hit warnings it shouldn't, but, the byte codes them selves be correct). And would be even more correct once released, so future maintenance/service could be safely updated to released compiler.] Here is what I recommend you do. * Setup a hosted maven repository. This does not have to be anything fancy, a stable location somewhere on download.eclipse.org is sufficient. For example, I use technology/m2e/maven to host CBI signing plugin. * Deploy jdt.core version that you need to use to the hosted repository you setup using file:// protocol. See exact command below. * Add new <pluginRepository> element to CBI parent pom.xml with http:// URL of the hosted repository * Add new <pluginManagement> plugins/plugin element with configuration similar to comment #1 to CBI parent pom.xml file. JDTVERSION=3.9.0.v20121208-144805 mvn deploy:deploy-file -Durl=file:///tmp/cbi-jdt \ -DgroupId=org.eclipse.cbi.tycho \ -DartifactId=org.eclipse.jdt.core \ -Dversion=${JDTVERSION} \ -Dfile=org.eclipse.jdt.core_${JDTVERSION}.jar \ -Dsources=org.eclipse.jdt.core.source_${JDTVERSION}.jar |