clirr-devel Mailing List for Clirr (Page 12)
Status: Alpha
Brought to you by:
lkuehne
You can subscribe to this list here.
2003 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(15) |
Oct
(23) |
Nov
|
Dec
(25) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2004 |
Jan
(9) |
Feb
|
Mar
|
Apr
|
May
(76) |
Jun
(207) |
Jul
(242) |
Aug
(42) |
Sep
(33) |
Oct
|
Nov
(7) |
Dec
(1) |
2005 |
Jan
|
Feb
|
Mar
(5) |
Apr
|
May
|
Jun
|
Jul
(3) |
Aug
(66) |
Sep
(38) |
Oct
(6) |
Nov
|
Dec
(2) |
2006 |
Jan
(17) |
Feb
(5) |
Mar
(28) |
Apr
(6) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
(1) |
Nov
(1) |
Dec
(7) |
2007 |
Jan
|
Feb
|
Mar
|
Apr
(7) |
May
(33) |
Jun
(4) |
Jul
(3) |
Aug
|
Sep
(5) |
Oct
|
Nov
|
Dec
|
2008 |
Jan
(4) |
Feb
(3) |
Mar
(2) |
Apr
|
May
(1) |
Jun
|
Jul
(6) |
Aug
(8) |
Sep
(5) |
Oct
(20) |
Nov
(7) |
Dec
(9) |
2009 |
Jan
(8) |
Feb
(3) |
Mar
(20) |
Apr
(10) |
May
(40) |
Jun
(11) |
Jul
(23) |
Aug
(4) |
Sep
(1) |
Oct
(1) |
Nov
|
Dec
(2) |
2010 |
Jan
(5) |
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
(1) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
(3) |
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(1) |
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2013 |
Jan
|
Feb
|
Mar
|
Apr
(6) |
May
(22) |
Jun
(2) |
Jul
|
Aug
|
Sep
|
Oct
(2) |
Nov
(1) |
Dec
(2) |
2014 |
Jan
(5) |
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(1) |
Dec
|
2015 |
Jan
(1) |
Feb
(2) |
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
2017 |
Jan
|
Feb
|
Mar
(1) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: SourceForge.net <no...@so...> - 2005-09-19 13:35:35
|
Feature Requests item #958824, was opened at 2004-05-23 09:59 Message generated for change (Comment added) made by lkuehne You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590802&aid=958824&group_id=89627 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Lars Kühne (lkuehne) >Assigned to: Lars Kühne (lkuehne) Summary: Ant task: failureproperty Initial Comment: add failure property, similar to junit or checkstyle task. This allows users to generate a HTML report via the style task before terminating the build because of compatibility problems. ---------------------------------------------------------------------- >Comment By: Lars Kühne (lkuehne) Date: 2005-09-19 15:35 Message: Logged In: YES user_id=401384 This has been implemented via the failOn[Src/Bin][Warning/Error] properties ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590802&aid=958824&group_id=89627 |
From: <lk...@us...> - 2005-09-19 13:15:35
|
Update of /cvsroot/clirr/clirr In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16489 Modified Files: project.xml Log Message: preparing for version 0.6 Index: project.xml =================================================================== RCS file: /cvsroot/clirr/clirr/project.xml,v retrieving revision 1.28 retrieving revision 1.29 diff -u -r1.28 -r1.29 --- project.xml 11 Aug 2005 04:17:19 -0000 1.28 +++ project.xml 19 Sep 2005 13:15:26 -0000 1.29 @@ -14,7 +14,7 @@ <!-- The version of the project under development, e.g. 1.1, 1.2, 2.0-dev --> - <currentVersion>0.5</currentVersion> + <currentVersion>0.6</currentVersion> <!-- details about the organization that 'owns' the project --> <organization> |
From: <lk...@us...> - 2005-09-19 13:15:35
|
Update of /cvsroot/clirr/clirr/maven In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16489/maven Modified Files: project.xml Log Message: preparing for version 0.6 Index: project.xml =================================================================== RCS file: /cvsroot/clirr/clirr/maven/project.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- project.xml 27 Aug 2005 15:11:34 -0000 1.5 +++ project.xml 19 Sep 2005 13:15:27 -0000 1.6 @@ -8,7 +8,7 @@ <!-- Note: Although we inherit from project.xml, we still cannot remove the <currentVersion> tag as this project.xml is parsed at runtime whenever our plugin is called. --> - <currentVersion>0.6-dev</currentVersion> + <currentVersion>0.6</currentVersion> <package>net.sf.clirr.maven</package> <description>Maven plugin for Clirr</description> @@ -33,7 +33,7 @@ <dependency> <groupId>maven</groupId> <artifactId>maven</artifactId> - <version>1.0-rc2</version> + <version>1.0.2</version> </dependency> <dependency> <groupId>commons-jelly</groupId> |
From: <lk...@us...> - 2005-09-19 12:30:53
|
Update of /cvsroot/clirr/clirr/core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv7439 Modified Files: project.properties Log Message: use javaapp plugin from maven-plugin.sf.net - improves startup time of CLI by not doing classloader magic (on my machine running clirr on one class now takes 0.3s instead of 1.8s) - allows usage of uberjar for Ant task Index: project.properties =================================================================== RCS file: /cvsroot/clirr/clirr/core/project.properties,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- project.properties 10 Jul 2004 13:24:03 -0000 1.1 +++ project.properties 19 Sep 2005 12:30:35 -0000 1.2 @@ -1,3 +1,5 @@ +maven.repo.remote=http://www.ibiblio.org/maven,http://maven-plugins.sourceforge.net/maven + maven.xdoc.date=left maven.xdoc.version=${pom.currentVersion} @@ -22,8 +24,9 @@ maven.junit.sysproperties=testinput testinput=${basedir}/target/testinput -# class to execute from all-in-one uberjar -maven.uberjar.main=net.sf.clirr.cli.Clirr +# class to execute from all-in-one javaapp +maven.javaapp.mainclass=net.sf.clirr.cli.Clirr +maven.javaapp.type=uber # used by test pregoal to generate test input, see maven.xml clirr.testlibs=testlib-v1, testlib-v2 |
From: <lk...@us...> - 2005-09-13 03:56:19
|
Update of /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/ant In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2715/src/java/net/sf/clirr/ant Modified Files: AntTask.java Log Message: use new ClassloaderUtil class to avoid duplicate code Index: AntTask.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/ant/AntTask.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- AntTask.java 5 Sep 2005 21:14:52 -0000 1.6 +++ AntTask.java 13 Sep 2005 03:56:09 -0000 1.7 @@ -21,23 +21,21 @@ import java.io.File; import java.io.IOException; -import java.net.MalformedURLException; -import java.net.URL; -import java.net.URLClassLoader; import java.util.Iterator; import java.util.LinkedList; import java.util.List; import net.sf.clirr.core.Checker; import net.sf.clirr.core.CheckerException; +import net.sf.clirr.core.ClassFilter; +import net.sf.clirr.core.ClassSelector; import net.sf.clirr.core.PlainDiffListener; import net.sf.clirr.core.XmlDiffListener; -import net.sf.clirr.core.ClassSelector; -import net.sf.clirr.core.ClassFilter; -import net.sf.clirr.core.internal.ExceptionUtil; +import net.sf.clirr.core.internal.ClassLoaderUtil; import net.sf.clirr.core.internal.bcel.BcelTypeArrayBuilder; import net.sf.clirr.core.spi.JavaType; +import org.apache.bcel.classfile.JavaClass; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.DirectoryScanner; import org.apache.tools.ant.Project; @@ -45,7 +43,6 @@ import org.apache.tools.ant.types.FileSet; import org.apache.tools.ant.types.Path; import org.apache.tools.ant.types.PatternSet; -import org.apache.bcel.classfile.JavaClass; /** @@ -334,27 +331,7 @@ private ClassLoader createClasspathLoader(Path classpath) { final String[] cpEntries = classpath.list(); - final URL[] cpUrls = new URL[cpEntries.length]; - for (int i = 0; i < cpEntries.length; i++) - { - String cpEntry = cpEntries[i]; - File entry = new File(cpEntry); - try - { - URL url = entry.toURL(); - cpUrls[i] = url; - } - catch (MalformedURLException ex) - { - final IllegalArgumentException illegalArgEx = - new IllegalArgumentException( - "Cannot create classLoader from classpath entry " + entry); - ExceptionUtil.initCause(illegalArgEx, ex); - throw illegalArgEx; - } - } - final URLClassLoader classPathLoader = new URLClassLoader(cpUrls); - return classPathLoader; + return ClassLoaderUtil.createClassLoader(cpEntries); } private File[] scanFileSet(FileSet fs) |
From: <lk...@us...> - 2005-09-13 03:52:21
|
Update of /cvsroot/clirr/clirr/core/src/testinput/testlib-v2/testlib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2164/src/testinput/testlib-v2/testlib Added Files: AddedClass.java Log Message: added toplevel classes to test class addition and removal --- NEW FILE --- package testlib; public class AddedClass { public static final int NEWCONSTANT_NOT_REPORTED = 0; } |
From: <lk...@us...> - 2005-09-13 03:52:21
|
Update of /cvsroot/clirr/clirr/core/src/testinput/testlib-v1/testlib In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2164/src/testinput/testlib-v1/testlib Added Files: RemovedClass.java Log Message: added toplevel classes to test class addition and removal --- NEW FILE --- package testlib; public class RemovedClass { public static final int OLDCONSTANT_NOT_REPORTED = 0; } |
From: <lk...@us...> - 2005-09-10 12:17:37
|
Update of /cvsroot/clirr/clirr/xdocs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26105 Modified Files: download.xml Log Message: corrected build instructions Index: download.xml =================================================================== RCS file: /cvsroot/clirr/clirr/xdocs/download.xml,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- download.xml 10 Sep 2005 11:01:34 -0000 1.8 +++ download.xml 10 Sep 2005 12:17:28 -0000 1.9 @@ -44,8 +44,12 @@ cvs -d :pserver:ano...@cv...:/cvsroot/clirr login cvs -z3 -d :pserver:ano...@cv...:/cvsroot/clirr checkout clirr cd clirr +maven -Dgoal=jar:install multiproject:goal maven ]]></source> +<!-- +TODO: Change the build so maven plugin will build without the explicit multiproject call above +--> <p> Note that the anonymous CVS server on Sourceforge is under heavy load, and you might experience |
From: <lk...@us...> - 2005-09-10 11:01:42
|
Update of /cvsroot/clirr/clirr/xdocs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv13388 Modified Files: download.xml Log Message: removed link to snapshot releases, as we no longer generate them added note about supported versions of Maven Index: download.xml =================================================================== RCS file: /cvsroot/clirr/clirr/xdocs/download.xml,v retrieving revision 1.7 retrieving revision 1.8 diff -u -r1.7 -r1.8 --- download.xml 5 Sep 2004 11:45:31 -0000 1.7 +++ download.xml 10 Sep 2005 11:01:34 -0000 1.8 @@ -12,17 +12,6 @@ href="http://sourceforge.net/project/showfiles.php?group_id=89627">Sourceforge download page</a>. </p> - <p> - Development snapshots are occasionally made available - between releases <a - href="http://clirr.sourceforge.net/builds/clirr/distributions/">here</a>. - </p> - <p> - <strong>Sourceforge.net provides their infrastructure - for free. Please use the Sourceforge download pages above - whenever possible to save bandwith on the sourceforge - servers.</strong> - </p> </section> <section name="Compile Clirr yourself"> <p> @@ -32,11 +21,13 @@ </p> <ul> <li> - <a href="http://maven.apache.org">Maven</a> 1.0 or above. + <a href="http://maven.apache.org">Maven</a> 1.0.2. + Maven 1.1 might also work but is currently untested. + Maven2 will not work. </li> <li> A CVS client. If you are on Linux you probably - already have that. If you are on Windows, you use + already have that. If you are on Windows, you can use the binary that is included in the WinCVS distribution. For other platforms, please search Google for a precompiled client or build one |
From: <lk...@us...> - 2005-09-10 11:00:28
|
Update of /cvsroot/clirr/clirr/core/xdocs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12887 Modified Files: changes.xml Log Message: fixed XML syntax error Index: changes.xml =================================================================== RCS file: /cvsroot/clirr/clirr/core/xdocs/changes.xml,v retrieving revision 1.12 retrieving revision 1.13 diff -u -r1.12 -r1.13 --- changes.xml 8 Sep 2005 10:27:56 -0000 1.12 +++ changes.xml 10 Sep 2005 11:00:20 -0000 1.13 @@ -33,11 +33,11 @@ Improved test coverage. </action> <action dev="lkuehne" type="update"> - <!- rfe #1283314, now using javaapp plugin instead of uberjar plugin --> + <!-- rfe #1283314, now using javaapp plugin instead of uberjar plugin --> Improved startup time of commandline uberjar. </action> <action dev="lkuehne" type="fix"> - <!- rfe #1022920, now using javaapp plugin instead of uberjar plugin --> + <!-- rfe #1022920, now using javaapp plugin instead of uberjar plugin --> Ant task now works with uberjar. </action> </release> |
From: SourceForge.net <no...@so...> - 2005-09-08 10:31:49
|
Feature Requests item #1283314, was opened at 2005-09-06 21:48 Message generated for change (Comment added) made by lkuehne You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590802&aid=1283314&group_id=89627 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Jörg Schaible (joehni) Assigned to: Nobody/Anonymous (nobody) Summary: Startup of uberjar is horrible Initial Comment: Please use the Javaapp plugin to deliver a "all-in-one" executable jar. This is meant as direct replacement of the uberjar. This will also solve issue #1022920 ---------------------------------------------------------------------- >Comment By: Lars Kühne (lkuehne) Date: 2005-09-08 12:31 Message: Logged In: YES user_id=401384 uberjar is now generated with javaapp plugin instead of the maven uberjar plugin. Running clirr against a one-class jar on my machine went down from 1.8s to 0.3s. ---------------------------------------------------------------------- Comment By: Jörg Schaible (joehni) Date: 2005-09-07 20:28 Message: Logged In: YES user_id=136752 Great! Just forgot to mension, that its available at the maven-plugins.sf.net site ... just put it as dependency into your pom. Regards, Jörg ---------------------------------------------------------------------- Comment By: Lars Kühne (lkuehne) Date: 2005-09-07 06:17 Message: Logged In: YES user_id=401384 Thanks for the pointer, I wasn't aware of that plugin - will try it out next weekend or so... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590802&aid=1283314&group_id=89627 |
From: SourceForge.net <no...@so...> - 2005-09-08 10:29:01
|
Feature Requests item #1022920, was opened at 2004-09-06 09:32 Message generated for change (Comment added) made by lkuehne You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590802&aid=1022920&group_id=89627 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None >Status: Closed >Resolution: Fixed Priority: 5 Submitted By: Lars Kühne (lkuehne) Assigned to: Lars Kühne (lkuehne) Summary: Ant Task should work with uberjar Initial Comment: It should be possible to use the uberjar in the taskdef, but that currently does not work because of the way the uberjar is built. Instead the user has to fiddle around with bcel and commons* individually. Instead of adding the individual jars and then doing classloader magic it would be a lot easier to simply unpack the dependencies and jar the required classes, similar to how we generate checkstyle-all.jar in the checkstyle project. When doing this, note that ant.jar should not be included in the uberjar, as it is not required by the cli frontend nor by the ant task (which should use the classes provided by the ant runtime environment). Removing classworlds and ant from the uberjar will drastically reduce the size of the uberjar. ---------------------------------------------------------------------- >Comment By: Lars Kühne (lkuehne) Date: 2005-09-08 12:28 Message: Logged In: YES user_id=401384 uberjar is now generated with javaapp plugin ---------------------------------------------------------------------- Comment By: Lars Kühne (lkuehne) Date: 2005-09-07 06:18 Message: Logged In: YES user_id=401384 seems that using javaapp plugin instead of uberjar would solve this ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590802&aid=1022920&group_id=89627 |
From: <lk...@us...> - 2005-09-08 10:28:07
|
Update of /cvsroot/clirr/clirr/core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12850 Modified Files: project.xml maven.xml Log Message: use javaapp plugin from maven-plugin.sf.net - improves startup time of CLI by not doing classloader magic (on my machine running clirr on one class now takes 0.3s instead of 1.8s) - allows usage of uberjar for Ant task Index: project.xml =================================================================== RCS file: /cvsroot/clirr/clirr/core/project.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- project.xml 8 Aug 2005 13:21:20 -0000 1.3 +++ project.xml 8 Sep 2005 10:27:56 -0000 1.4 @@ -29,19 +29,26 @@ <properties> <uberjar.bundle>false</uberjar.bundle> </properties> - </dependency> - <dependency> + </dependency> + <dependency> <groupId>commons-cli</groupId> <artifactId>commons-cli</artifactId> <version>1.0</version> <url>http://jakarta.apache.org/commons-cli</url> </dependency> - <dependency> + <dependency> <groupId>commons-lang</groupId> <artifactId>commons-lang</artifactId> <version>1.0.1</version> <url>http://jakarta.apache.org/commons-lang</url> - </dependency> + </dependency> + <dependency> + <groupId>maven-plugins</groupId> + <artifactId>maven-javaapp-plugin</artifactId> + <version>1.3.1</version> + <url>http://maven-plugins.sourceforge.org/maven-javaapp-plugin/</url> + <type>plugin</type> + </dependency> </dependencies> <!-- build information for the project --> Index: maven.xml =================================================================== RCS file: /cvsroot/clirr/clirr/core/maven.xml,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- maven.xml 15 Aug 2004 11:01:13 -0000 1.2 +++ maven.xml 8 Sep 2005 10:27:56 -0000 1.3 @@ -4,7 +4,7 @@ xmlns:u="jelly:util" xmlns:j="jelly:core"> - <goal name="dist" prereqs="jar:install,uberjar:uberjar"/> + <goal name="dist" prereqs="jar:install,javaapp"/> <preGoal name="test:test"> <attainGoal name="clirr:compiletestlibs"/> |
From: <lk...@us...> - 2005-09-08 10:28:06
|
Update of /cvsroot/clirr/clirr/core/xdocs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv12850/xdocs Modified Files: changes.xml anttask.xml Log Message: use javaapp plugin from maven-plugin.sf.net - improves startup time of CLI by not doing classloader magic (on my machine running clirr on one class now takes 0.3s instead of 1.8s) - allows usage of uberjar for Ant task Index: changes.xml =================================================================== RCS file: /cvsroot/clirr/clirr/core/xdocs/changes.xml,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- changes.xml 8 Sep 2005 08:36:33 -0000 1.11 +++ changes.xml 8 Sep 2005 10:27:56 -0000 1.12 @@ -32,6 +32,14 @@ <action dev="lkuehne" type="update"> Improved test coverage. </action> + <action dev="lkuehne" type="update"> + <!- rfe #1283314, now using javaapp plugin instead of uberjar plugin --> + Improved startup time of commandline uberjar. + </action> + <action dev="lkuehne" type="fix"> + <!- rfe #1022920, now using javaapp plugin instead of uberjar plugin --> + Ant task now works with uberjar. + </action> </release> <release version="0.5" date="2005-08-07"> Index: anttask.xml =================================================================== RCS file: /cvsroot/clirr/clirr/core/xdocs/anttask.xml,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- anttask.xml 6 Mar 2005 17:01:36 -0000 1.3 +++ anttask.xml 8 Sep 2005 10:27:56 -0000 1.4 @@ -27,7 +27,8 @@ <source> <target name="checkbinarycompatibility" depends="build"> - <!-- buildtools.classpath should contain + <!-- buildtools.classpath should either contain + clirr-core-uber.jar or alternatively clirr-core.jar and the libraries it depends on --> <taskdef |
From: <lk...@us...> - 2005-09-08 08:36:47
|
Update of /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22952/src/java/net/sf/clirr/core/internal Added Files: ClassLoaderUtil.java Log Message: fix for bug #1284303 (no possibility to specify 3rd party jars on CLI) also did some code cleanup and fixed a crossplatform problem when parsing path entries on the command line --- NEW FILE --- package net.sf.clirr.core.internal; import java.io.File; import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; /** * Helper class for dealing with ClassLoaders. * @author lk */ public final class ClassLoaderUtil { /** prevent instatiation. */ private ClassLoaderUtil() { } /** * @param cpEntries * @return */ public static ClassLoader createClassLoader(final String[] cpEntries) { final URL[] cpUrls = new URL[cpEntries.length]; for (int i = 0; i < cpEntries.length; i++) { String cpEntry = cpEntries[i]; File entry = new File(cpEntry); try { URL url = entry.toURL(); cpUrls[i] = url; } catch (MalformedURLException ex) { final IllegalArgumentException illegalArgEx = new IllegalArgumentException( "Cannot create classLoader from classpath entry " + entry); ExceptionUtil.initCause(illegalArgEx, ex); throw illegalArgEx; } } final URLClassLoader classPathLoader = new URLClassLoader(cpUrls); return classPathLoader; } } |
From: <lk...@us...> - 2005-09-08 08:36:42
|
Update of /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/cli In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22952/src/java/net/sf/clirr/cli Modified Files: Clirr.java Log Message: fix for bug #1284303 (no possibility to specify 3rd party jars on CLI) also did some code cleanup and fixed a crossplatform problem when parsing path entries on the command line Index: Clirr.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/cli/Clirr.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- Clirr.java 5 Sep 2005 21:14:52 -0000 1.6 +++ Clirr.java 8 Sep 2005 08:36:33 -0000 1.7 @@ -38,6 +38,7 @@ import java.io.File; import java.io.IOException; import java.io.PrintWriter; +import java.net.MalformedURLException; import java.net.URL; import java.net.URLClassLoader; import java.util.ArrayList; @@ -50,10 +51,6 @@ public class Clirr { - private static final File[] EMPTY_FILE_ARRAY = new File[]{}; - - // =================================================================== - public static void main(String[] args) { new Clirr().run(args); @@ -63,33 +60,14 @@ private void run(String[] args) { - BasicParser parser = new BasicParser(); - Options options = new Options(); - options.addOption("o", "old-version", true, "jar files of old version"); - options.addOption("n", "new-version", true, "jar files of new version"); - options.addOption("s", "style", true, "output style [text|xml]"); - options.addOption("i", "include-pkg", true, - "include only classes from this package and its subpackages"); - options.addOption("p", "show-pkg-scope", false, - "show package scope classes"); - options.addOption("a", "show-all-scopes", false, - "show private and package classes"); - options.addOption("f", "output-file", true, "output file name"); + Options options = defineOptions(); - CommandLine cmdline = null; - try - { - cmdline = parser.parse(options, args); - } - catch (ParseException ex) - { - System.err.println("Invalid command line arguments."); - usage(options); - System.exit(-1); - } + CommandLine cmdline = parseCommandLine(args, options); String oldPath = cmdline.getOptionValue('o'); String newPath = cmdline.getOptionValue('n'); + String oldClassPath = cmdline.getOptionValue("ocp"); + String newClassPath = cmdline.getOptionValue("ncp"); String style = cmdline.getOptionValue('s', "text"); String outputFileName = cmdline.getOptionValue('f'); String[] includePkgs = cmdline.getOptionValues('i'); @@ -157,16 +135,17 @@ System.exit(-1); } + File[] origJars = pathToFileArray(oldPath); File[] newJars = pathToFileArray(newPath); - ClassLoader loader1 = new URLClassLoader(new URL[]{}); - ClassLoader loader2 = new URLClassLoader(new URL[]{}); - checker.addDiffListener(diffListener); try { + ClassLoader loader1 = new URLClassLoader(convertFilesToURLs(pathToFileArray(oldClassPath))); + ClassLoader loader2 = new URLClassLoader(convertFilesToURLs(pathToFileArray(newClassPath))); + final JavaType[] origClasses = BcelTypeArrayBuilder.createClassSet(origJars, loader1, classSelector); @@ -174,12 +153,64 @@ BcelTypeArrayBuilder.createClassSet(newJars, loader2, classSelector); checker.reportDiffs(origClasses, newClasses); + + System.exit(0); } catch (CheckerException ex) { System.err.println("Unable to complete checks:" + ex.getMessage()); System.exit(1); } + catch (MalformedURLException ex) + { + System.err.println("Unable to create classloader for 3rd party classes:" + ex.getMessage()); + System.err.println("old classpath: " + oldClassPath); + System.err.println("new classpath: " + newClassPath); + System.exit(1); + } + } + + /** + * @param args + * @param parser + * @param options + * @return + */ + private CommandLine parseCommandLine(String[] args, Options options) + { + BasicParser parser = new BasicParser(); + CommandLine cmdline = null; + try + { + cmdline = parser.parse(options, args); + } + catch (ParseException ex) + { + System.err.println("Invalid command line arguments."); + usage(options); + System.exit(-1); + } + return cmdline; + } + + /** + * @return + */ + private Options defineOptions() { + Options options = new Options(); + options.addOption("o", "old-version", true, "jar files of old version"); + options.addOption("n", "new-version", true, "jar files of new version"); + options.addOption("ocp", "orig-classpath", true, "3rd party classpath that is referenced by old-version"); + options.addOption("ncp", "new-classpath", true, "3rd party classpath that is referenced by new-version"); + options.addOption("s", "style", true, "output style [text|xml]"); + options.addOption("i", "include-pkg", true, + "include only classes from this package and its subpackages"); + options.addOption("p", "show-pkg-scope", false, + "show package scope classes"); + options.addOption("a", "show-all-scopes", false, + "show private and package classes"); + options.addOption("f", "output-file", true, "output file name"); + return options; } private void usage(Options options) @@ -194,12 +225,17 @@ private File[] pathToFileArray(String path) { + if (path == null) + { + return new File[0]; + } + ArrayList files = new ArrayList(); int pos = 0; while (pos < path.length()) { - int colonPos = path.indexOf(pos, ':'); + int colonPos = path.indexOf(pos, File.pathSeparatorChar); if (colonPos == -1) { files.add(new File(path.substring(pos))); @@ -210,6 +246,15 @@ pos = colonPos + 1; } - return (File[]) files.toArray(EMPTY_FILE_ARRAY); + return (File[]) files.toArray(new File[files.size()]); + } + + private URL[] convertFilesToURLs(File[] files) throws MalformedURLException + { + URL[] ret = new URL[files.length]; + for (int i = 0; i < files.length; i++) { + ret[i] = files[i].toURL(); + } + return ret; } } |
From: <lk...@us...> - 2005-09-08 08:36:42
|
Update of /cvsroot/clirr/clirr/core/xdocs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv22952/xdocs Modified Files: changes.xml Log Message: fix for bug #1284303 (no possibility to specify 3rd party jars on CLI) also did some code cleanup and fixed a crossplatform problem when parsing path entries on the command line Index: changes.xml =================================================================== RCS file: /cvsroot/clirr/clirr/core/xdocs/changes.xml,v retrieving revision 1.10 retrieving revision 1.11 diff -u -r1.10 -r1.11 --- changes.xml 27 Aug 2005 11:04:33 -0000 1.10 +++ changes.xml 8 Sep 2005 08:36:33 -0000 1.11 @@ -15,12 +15,21 @@ an IDE will typically already have an in-memory representation of the Java sources, so a Clirr IDE plugin could use that (via an adapter) and would not require a full compile before running Clirr. + The API will most probably be in flux when Clirr adds support for Java 1.5 + features like generics and varargs. </action> - <action dev="lkuehne" type="fix"> + <action dev="lkuehne" type="fix"> <!-- Bug #1267189--> Ant task: Class exclusion via apiclasses subelement was broken on Windows. </action> <action dev="lkuehne" type="fix"> + CLI: Handling of multi-jar libraries in parameters -o and -n was broken on Windows. + </action> + <action dev="lkuehne" type="fix"> + <!-- Bug #1284303--> + CLI: Allow specitication of 3rd party jars via new options -ocp and -ncp. + </action> + <action dev="lkuehne" type="update"> Improved test coverage. </action> </release> |
From: SourceForge.net <no...@so...> - 2005-09-07 21:15:36
|
Bugs item #1284303, was opened at 2005-09-07 23:15 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590799&aid=1284303&group_id=89627 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: Checker Group: None Status: Open Resolution: None Priority: 5 Submitted By: Ernst de Haan (znerd) Assigned to: Nobody/Anonymous (nobody) Summary: NPE in BCEL getAllInterfaces() Initial Comment: I got the following exception while running clirr on my JAR files (command-line): Exception in thread "main" java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.codehaus.classworlds.boot.Bootstrapper.bootstrap(Bootstrapper.java:209) at org.codehaus.classworlds.boot.Bootstrapper.main(Bootstrapper.java:116) Caused by: java.lang.NullPointerException at org.apache.bcel.classfile.JavaClass.getAllInterfaces(JavaClass.java:808) at net.sf.clirr.core.internal.checks.InterfaceSetCheck.check(InterfaceSetCheck.java:58) at net.sf.clirr.core.Checker.runClassChecks(Checker.java:376) at net.sf.clirr.core.Checker.reportDiffs(Checker.java:319) at net.sf.clirr.core.Checker.reportDiffs(Checker.java:178) at net.sf.clirr.cli.Clirr.run(Clirr.java:167) at net.sf.clirr.cli.Clirr.main(Clirr.java:56) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:324) at org.codehaus.classworlds.Launcher.launchStandard(Launcher.java:410) at org.codehaus.classworlds.Launcher.launch(Launcher.java:344) at org.codehaus.classworlds.Launcher.main(Launcher.java:474) ... 6 more My system: Linux 2.6.12 Sun JDK 1.4.2_08 The command executed: java -jar ~/clirr-0.5/clirr-core-0.5-uber.jar -o ~/xins-1.2.5/build/xins-common.jar -n build/xins-common.jar ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590799&aid=1284303&group_id=89627 |
From: SourceForge.net <no...@so...> - 2005-09-07 18:28:24
|
Feature Requests item #1283314, was opened at 2005-09-06 21:48 Message generated for change (Comment added) made by joehni You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590802&aid=1283314&group_id=89627 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Jörg Schaible (joehni) Assigned to: Nobody/Anonymous (nobody) Summary: Startup of uberjar is horrible Initial Comment: Please use the Javaapp plugin to deliver a "all-in-one" executable jar. This is meant as direct replacement of the uberjar. This will also solve issue #1022920 ---------------------------------------------------------------------- >Comment By: Jörg Schaible (joehni) Date: 2005-09-07 20:28 Message: Logged In: YES user_id=136752 Great! Just forgot to mension, that its available at the maven-plugins.sf.net site ... just put it as dependency into your pom. Regards, Jörg ---------------------------------------------------------------------- Comment By: Lars Kühne (lkuehne) Date: 2005-09-07 06:17 Message: Logged In: YES user_id=401384 Thanks for the pointer, I wasn't aware of that plugin - will try it out next weekend or so... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590802&aid=1283314&group_id=89627 |
From: SourceForge.net <no...@so...> - 2005-09-07 04:18:59
|
Feature Requests item #1022920, was opened at 2004-09-06 09:32 Message generated for change (Comment added) made by lkuehne You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590802&aid=1022920&group_id=89627 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Lars Kühne (lkuehne) Assigned to: Lars Kühne (lkuehne) Summary: Ant Task should work with uberjar Initial Comment: It should be possible to use the uberjar in the taskdef, but that currently does not work because of the way the uberjar is built. Instead the user has to fiddle around with bcel and commons* individually. Instead of adding the individual jars and then doing classloader magic it would be a lot easier to simply unpack the dependencies and jar the required classes, similar to how we generate checkstyle-all.jar in the checkstyle project. When doing this, note that ant.jar should not be included in the uberjar, as it is not required by the cli frontend nor by the ant task (which should use the classes provided by the ant runtime environment). Removing classworlds and ant from the uberjar will drastically reduce the size of the uberjar. ---------------------------------------------------------------------- >Comment By: Lars Kühne (lkuehne) Date: 2005-09-07 06:18 Message: Logged In: YES user_id=401384 seems that using javaapp plugin instead of uberjar would solve this ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590802&aid=1022920&group_id=89627 |
From: SourceForge.net <no...@so...> - 2005-09-07 04:17:33
|
Feature Requests item #1283314, was opened at 2005-09-06 21:48 Message generated for change (Comment added) made by lkuehne You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590802&aid=1283314&group_id=89627 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Jörg Schaible (joehni) Assigned to: Nobody/Anonymous (nobody) Summary: Startup of uberjar is horrible Initial Comment: Please use the Javaapp plugin to deliver a "all-in-one" executable jar. This is meant as direct replacement of the uberjar. This will also solve issue #1022920 ---------------------------------------------------------------------- >Comment By: Lars Kühne (lkuehne) Date: 2005-09-07 06:17 Message: Logged In: YES user_id=401384 Thanks for the pointer, I wasn't aware of that plugin - will try it out next weekend or so... ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590802&aid=1283314&group_id=89627 |
From: SourceForge.net <no...@so...> - 2005-09-06 19:48:51
|
Feature Requests item #1283314, was opened at 2005-09-06 21:48 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590802&aid=1283314&group_id=89627 Please note that this message will contain a full copy of the comment thread, including the initial issue submission, for this request, not just the latest update. Category: None Group: None Status: Open Resolution: None Priority: 5 Submitted By: Jörg Schaible (joehni) Assigned to: Nobody/Anonymous (nobody) Summary: Startup of uberjar is horrible Initial Comment: Please use the Javaapp plugin to deliver a "all-in-one" executable jar. This is meant as direct replacement of the uberjar. This will also solve issue #1022920 ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590802&aid=1283314&group_id=89627 |
From: <lk...@us...> - 2005-09-05 21:51:40
|
Update of /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv2771/src/java/net/sf/clirr/core Modified Files: ScopeSelector.java Log Message: javadoc fixes Index: ScopeSelector.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/ScopeSelector.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- ScopeSelector.java 26 Aug 2005 05:35:53 -0000 1.6 +++ ScopeSelector.java 5 Sep 2005 21:51:32 -0000 1.7 @@ -79,20 +79,10 @@ } /** - * Given a BCEL object, return true if this object's scope is one of the + * Given a scoped object, return true if this object's scope is one of the * values this object is configured to match. - * <p> - * Note that BCEL classes Field and Method inherit from the AccessFlags - * base class and so are valid parameters to this method. - * <p> - * Note that despite JavaClass objects extending AccessFlags, the - * methods which determine the accessibility of a JavaClass fail - * miserably (bad bcel design) for nested classes. Therefore this - * method <i>must not</i> be passed a JavaClass object as a parameter. - * If this is done, a RuntimeException will be thrown to indicate a - * programmer error. * - * @param object is the object whose scope is to be checked. + * @param scoped is the object whose scope is to be checked. * @return true if the object is selected. */ public boolean isSelected(Scoped scoped) |
From: <lk...@us...> - 2005-09-05 21:26:36
|
Update of /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/bcel In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv30071 Added Files: package.html Log Message: add package docs for bcel --- NEW FILE --- <html> <body> Apache's <a target="_top" href="http://jakarta.apache.org/bcel">BCEL</a> is currently used to read the compiled Java classes. </body> </html> |
From: <lk...@us...> - 2005-09-05 21:15:01
|
Update of /cvsroot/clirr/clirr/core/src/test/net/sf/clirr/core/internal/checks In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv27683/src/test/net/sf/clirr/core/internal/checks Modified Files: AbstractCheckTestCase.java ClassAddedRemovedTest.java Log Message: Moved BCEL out of core Checker and only use the JavaType interface there. Using BCEL is now an implementation detail of the Ant and CLI frontends, and IDE plugins might use a completely different implementation. Index: AbstractCheckTestCase.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/test/net/sf/clirr/core/internal/checks/AbstractCheckTestCase.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- AbstractCheckTestCase.java 6 Mar 2005 17:01:35 -0000 1.2 +++ AbstractCheckTestCase.java 5 Sep 2005 21:14:52 -0000 1.3 @@ -7,6 +7,9 @@ import net.sf.clirr.core.CheckerFactory; import net.sf.clirr.core.ClassFilter; import net.sf.clirr.core.internal.ClassChangeCheck; +import net.sf.clirr.core.internal.bcel.BcelTypeArrayBuilder; +import net.sf.clirr.core.spi.JavaType; + import org.apache.bcel.util.ClassSet; import java.io.File; @@ -53,11 +56,13 @@ Checker checker = CheckerFactory.createChecker(createCheck(tdl)); ClassFilter classSelector = createClassSelector(); - checker.reportDiffs( - getBaseLine(), getCurrent(), - new URLClassLoader(new URL[]{}), - new URLClassLoader(new URL[]{}), - classSelector); + final JavaType[] origClasses = + BcelTypeArrayBuilder.createClassSet(getBaseLine(), new URLClassLoader(new URL[]{}), classSelector); + + final JavaType[] newClasses = + BcelTypeArrayBuilder.createClassSet(getCurrent(), new URLClassLoader(new URL[]{}), classSelector); + + checker.reportDiffs(origClasses, newClasses); tdl.checkExpected(expected); } Index: ClassAddedRemovedTest.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/test/net/sf/clirr/core/internal/checks/ClassAddedRemovedTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ClassAddedRemovedTest.java 26 Aug 2005 05:35:53 -0000 1.1 +++ ClassAddedRemovedTest.java 5 Sep 2005 21:14:52 -0000 1.2 @@ -7,6 +7,8 @@ import net.sf.clirr.core.CheckerFactory; import net.sf.clirr.core.Severity; import net.sf.clirr.core.internal.ClassChangeCheck; +import net.sf.clirr.core.internal.bcel.BcelTypeArrayBuilder; +import net.sf.clirr.core.spi.JavaType; import net.sf.clirr.core.ClassFilter; public class ClassAddedRemovedTest extends AbstractCheckTestCase @@ -19,11 +21,13 @@ ClassFilter classSelector = createClassSelector(); - checker.reportDiffs( - getBaseLine(), getCurrent(), - new URLClassLoader(new URL[]{}), - new URLClassLoader(new URL[]{}), - classSelector); + final JavaType[] origClasses = + BcelTypeArrayBuilder.createClassSet(getBaseLine(), new URLClassLoader(new URL[]{}), classSelector); + + final JavaType[] newClasses = + BcelTypeArrayBuilder.createClassSet(getCurrent(), new URLClassLoader(new URL[]{}), classSelector); + + checker.reportDiffs(origClasses, newClasses); ExpectedDiff[] expected = new ExpectedDiff[] { new ExpectedDiff("Class testlib.AddedClass added", Severity.INFO, "testlib.AddedClass", null, null), |