clirr-devel Mailing List for Clirr (Page 9)
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: Mwanajuma R. <mcm...@ce...> - 2006-10-19 20:09:35
|
Hi, VIpAGRA for LESS http://www.chitionkdetunlionpsa.com =20 works. sheot chips for the barbecue. |
From: SourceForge.net <no...@so...> - 2006-07-03 13:39:25
|
Feature Requests item #1516338, was opened at 2006-07-03 14:39 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=1516338&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: Vincent Massol (vmassol) Assigned to: Nobody/Anonymous (nobody) Summary: Add fine grained exclusions Initial Comment: It would be nice to be able to use Clirr to fail the build if a breaking binary change is introduced. However this needs the ability to specify when a breaking change is introduced voluntarily. This could be implemented as an exclude feature. However the current exclude feature excludes a full java class. We need something more fine-grained, i.e. the ability to exclude a clirr check (both from a file and from several files at once) See http://tinyurl.com/kb7dm (post entitled "Blog post on Clirr..."). This would allow implementing the strategy defined on http://tinyurl.com/84lbb Thanks -Vincent ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590802&aid=1516338&group_id=89627 |
Update of /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32530/src/java/net/sf/clirr/core/internal/asm Modified Files: AsmField.java AsmMethod.java AsmJavaType.java ClassInfoCollector.java Log Message: actual implementation for getEffectiveScope() Index: AsmField.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm/AsmField.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- AsmField.java 16 Mar 2006 22:30:19 -0000 1.1 +++ AsmField.java 22 Apr 2006 22:04:27 -0000 1.2 @@ -13,11 +13,13 @@ private final Object value; private final Type type; private final Repository repository; + private final AsmJavaType container; - AsmField(Repository repository, int access, String name, Object value, Type type) + AsmField(AsmJavaType container, int access, String name, Object value, Type type) { super(access); - this.repository = repository; + this.container = container; + this.repository = container.getRepository(); this.name = name; this.value = value; this.type = type; @@ -56,7 +58,9 @@ public Scope getEffectiveScope() { - return getDeclaredScope(); // TODO: FIXME + final Scope containerScope = container.getEffectiveScope(); + final Scope declaredScope = getDeclaredScope(); + return containerScope.isLessVisibleThan(declaredScope) ? containerScope : declaredScope; } } Index: AsmMethod.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm/AsmMethod.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- AsmMethod.java 29 Mar 2006 12:21:41 -0000 1.3 +++ AsmMethod.java 22 Apr 2006 22:04:27 -0000 1.4 @@ -18,12 +18,15 @@ private final Type[] argumentTypes; private final String[] exceptions; + + private AsmJavaType container; - AsmMethod(Repository repository, int access, Type returnType, + AsmMethod(AsmJavaType container, int access, Type returnType, String name, Type[] argumentTypes, String[] exceptions) { super(access); - this.repository = repository; + this.container = container; + this.repository = container.getRepository(); this.returnType = returnType; this.name = name; this.argumentTypes = argumentTypes; @@ -93,8 +96,9 @@ public Scope getEffectiveScope() { - // TODO Auto-generated method stub - return getDeclaredScope(); + final Scope containerScope = container.getEffectiveScope(); + final Scope declaredScope = getDeclaredScope(); + return containerScope.isLessVisibleThan(declaredScope) ? containerScope : declaredScope; } } Index: AsmJavaType.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm/AsmJavaType.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- AsmJavaType.java 29 Mar 2006 12:21:41 -0000 1.2 +++ AsmJavaType.java 22 Apr 2006 22:04:27 -0000 1.3 @@ -27,7 +27,7 @@ private final String[] interfaceNames; - public AsmJavaType(Repository repository, int access, String basicName, String superClassName, String[] interfaceNames) + AsmJavaType(Repository repository, int access, String basicName, String superClassName, String[] interfaceNames) { super(access); this.repository = repository; @@ -36,7 +36,13 @@ this.interfaceNames = interfaceNames; } - + Repository getRepository() + { + return repository; + } + + + public String getBasicName() { return basicName; @@ -50,8 +56,13 @@ public JavaType getContainingClass() { - // TODO Auto-generated method stub - return null; + int idx = basicName.lastIndexOf('$'); + if (idx == -1) + { + return null; + } + // TODO: bug #1022446 + return repository.findTypeByName(basicName.substring(0, idx)); } public JavaType[] getSuperClasses() @@ -88,12 +99,6 @@ return ret; } - public JavaType[] getInnerClasses() - { - // TODO Auto-generated method stub - return null; - } - void addMethod(Method method) { methods.add(method); @@ -120,13 +125,13 @@ public boolean isPrimitive() { - // TODO Auto-generated method stub + // primitives are represented by PrimitiveType return false; } public int getArrayDimension() { - // TODO: handle correctly for method argument and return types + // array types are represented by ArrayType return 0; } @@ -147,8 +152,15 @@ public Scope getEffectiveScope() { - // TODO: replace with real impl - return getDeclaredScope(); + JavaType container = getContainingClass(); + final Scope declaredScope = getDeclaredScope(); + if (container == null) + { + return declaredScope; + } + + Scope containerScope = container.getEffectiveScope(); + return containerScope.isLessVisibleThan(declaredScope) ? containerScope : declaredScope; } Index: ClassInfoCollector.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm/ClassInfoCollector.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ClassInfoCollector.java 16 Mar 2006 22:30:19 -0000 1.1 +++ ClassInfoCollector.java 22 Apr 2006 22:04:27 -0000 1.2 @@ -33,7 +33,7 @@ public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { Type type = Type.getType(desc); - final AsmField asmField = new AsmField(repository, access, name, value, type); + final AsmField asmField = new AsmField(javaType, access, name, value, type); javaType.addField(asmField); // currently no need for visiting annotations @@ -45,7 +45,7 @@ final Type[] argumentTypes = Type.getArgumentTypes(desc); final Type returnType = Type.getReturnType(desc); final AsmMethod asmMethod = - new AsmMethod(repository, access, returnType, name, argumentTypes, exceptions); + new AsmMethod(javaType, access, returnType, name, argumentTypes, exceptions); javaType.addMethod(asmMethod); // currently no need for visiting annotations |
From: <lk...@us...> - 2006-04-22 22:03:55
|
Update of /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32049/src/java/net/sf/clirr/core/internal/asm Modified Files: PrimitiveType.java ArrayType.java Log Message: removed obsolete method getInnerClasses() from JavaType interface Index: PrimitiveType.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm/PrimitiveType.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- PrimitiveType.java 22 Apr 2006 19:52:25 -0000 1.1 +++ PrimitiveType.java 22 Apr 2006 22:03:51 -0000 1.2 @@ -39,11 +39,6 @@ return new JavaType[0]; } - public JavaType[] getInnerClasses() - { - return new JavaType[0]; - } - public Method[] getMethods() { return new Method[0]; Index: ArrayType.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm/ArrayType.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ArrayType.java 29 Mar 2006 12:21:41 -0000 1.1 +++ ArrayType.java 22 Apr 2006 22:03:51 -0000 1.2 @@ -51,12 +51,6 @@ return null; } - public JavaType[] getInnerClasses() - { - // TODO Auto-generated method stub - return null; - } - public Method[] getMethods() { // TODO Auto-generated method stub |
From: <lk...@us...> - 2006-04-22 22:03:55
|
Update of /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/spi In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv32049/src/java/net/sf/clirr/core/spi Modified Files: JavaType.java Log Message: removed obsolete method getInnerClasses() from JavaType interface Index: JavaType.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/spi/JavaType.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- JavaType.java 16 Mar 2006 22:30:19 -0000 1.3 +++ JavaType.java 22 Apr 2006 22:03:52 -0000 1.4 @@ -50,8 +50,6 @@ */ JavaType[] getAllInterfaces(); - JavaType[] getInnerClasses(); - /** * All methods that are declared by this class. * Methods of superclasses/interfaces are not returned |
From: <lk...@us...> - 2006-04-22 19:52:30
|
Update of /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10325/src/java/net/sf/clirr/core/internal/asm Modified Files: Repository.java Added Files: PrimitiveType.java Log Message: promoted Repository$PrimitiveType to a toplevel class --- NEW FILE --- package net.sf.clirr.core.internal.asm; import net.sf.clirr.core.spi.Field; import net.sf.clirr.core.spi.JavaType; import net.sf.clirr.core.spi.Method; import net.sf.clirr.core.spi.Scope; class PrimitiveType implements JavaType { private final String basicName; PrimitiveType(String name) { this.basicName = name; } public String getBasicName() { return basicName; } public String getName() { return basicName; } public JavaType getContainingClass() { return null; } public JavaType[] getSuperClasses() { return new JavaType[0]; } public JavaType[] getAllInterfaces() { return new JavaType[0]; } public JavaType[] getInnerClasses() { return new JavaType[0]; } public Method[] getMethods() { return new Method[0]; } public Field[] getFields() { return new Field[0]; } public int getArrayDimension() { return 0; } public boolean isPrimitive() { return true; } public boolean isFinal() { return true; } public boolean isAbstract() { return false; } public boolean isInterface() { return false; } public Scope getDeclaredScope() { return Scope.PUBLIC; } public Scope getEffectiveScope() { return Scope.PUBLIC; } public String toString() { return getName(); } } Index: Repository.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm/Repository.java,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- Repository.java 22 Apr 2006 19:13:14 -0000 1.3 +++ Repository.java 22 Apr 2006 19:52:25 -0000 1.4 @@ -9,10 +9,7 @@ import java.util.regex.Matcher; import java.util.regex.Pattern; -import net.sf.clirr.core.spi.Field; import net.sf.clirr.core.spi.JavaType; -import net.sf.clirr.core.spi.Method; -import net.sf.clirr.core.spi.Scope; import org.objectweb.asm.ClassReader; @@ -26,97 +23,6 @@ private static final Pattern PRIMITIVE_PATTERN = Pattern.compile("(int|float|long|double|boolean|char|short|byte)"); private static final Pattern ARRAY_PATTERN = Pattern.compile("(\\[\\])+$"); - private static final class PrimitiveType implements JavaType - { - private final String basicName; - - private PrimitiveType(String name) - { - this.basicName = name; - } - - public String getBasicName() - { - return basicName; - } - - public String getName() - { - return basicName; - } - - public JavaType getContainingClass() - { - return null; - } - - public JavaType[] getSuperClasses() - { - return new JavaType[0]; - } - - public JavaType[] getAllInterfaces() - { - return new JavaType[0]; - } - - public JavaType[] getInnerClasses() - { - return new JavaType[0]; - } - - public Method[] getMethods() - { - return new Method[0]; - } - - public Field[] getFields() - { - return new Field[0]; - } - - public int getArrayDimension() - { - return 0; - } - - public boolean isPrimitive() - { - return true; - } - - public boolean isFinal() - { - return true; - } - - public boolean isAbstract() - { - return false; - } - - public boolean isInterface() - { - return false; - } - - public Scope getDeclaredScope() - { - return Scope.PUBLIC; - } - - public Scope getEffectiveScope() - { - // TODO Auto-generated method stub - return null; - } - - public String toString() - { - return getName(); - } - } - private final ClassLoader classLoader; private Map nameTypeMap = new HashMap(); |
From: <lk...@us...> - 2006-04-22 19:13:19
|
Update of /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv17573/src/java/net/sf/clirr/core/internal/asm Modified Files: Repository.java Log Message: added some comments Index: Repository.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm/Repository.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- Repository.java 29 Mar 2006 12:21:41 -0000 1.2 +++ Repository.java 22 Apr 2006 19:13:14 -0000 1.3 @@ -169,6 +169,7 @@ return wrapInArrayTypeIfRequired(dimension, type); } + // OK, typename is not in the cache. Is it a primitive type? final Matcher primitiveMatcher = PRIMITIVE_PATTERN.matcher(typeName); if (primitiveMatcher.matches()) { @@ -177,6 +178,7 @@ return wrapInArrayTypeIfRequired(dimension, primitive); } + // it must be a normal class then, load it as a resource String resourceName = typeName.replace('.', '/') + ".class"; InputStream is = classLoader.getResourceAsStream(resourceName); if (is == null) |
From: <lk...@us...> - 2006-04-22 19:00:43
|
Update of /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv9340/src/java/net/sf/clirr/core Modified Files: ClassSelector.java Log Message: package tree selection was not handled correctly Index: ClassSelector.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/ClassSelector.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ClassSelector.java 16 Mar 2006 22:16:58 -0000 1.5 +++ ClassSelector.java 22 Apr 2006 19:00:32 -0000 1.6 @@ -90,7 +90,7 @@ */ public void addPackageTree(String packageName) { - packages.add(packageName); + packageTrees.add(packageName); } /** |
From: <lk...@us...> - 2006-03-29 12:21:46
|
Update of /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19663/src/java/net/sf/clirr/core/internal/asm Modified Files: AsmMethod.java AsmJavaType.java Repository.java Added Files: ArrayType.java Log Message: Fixed regression #1459639, array dimension change no longer detected. While I was working on that bug, I noticed a few other glitches that were introduced when switching from BCEL to ASM, some of them are fixed in this commit as well. --- NEW FILE --- package net.sf.clirr.core.internal.asm; import net.sf.clirr.core.spi.Field; import net.sf.clirr.core.spi.JavaType; import net.sf.clirr.core.spi.Method; import net.sf.clirr.core.spi.Scope; class ArrayType implements JavaType { private final JavaType basicType; private final int dimension; ArrayType(JavaType basicType, int dimension) { this.basicType = basicType; this.dimension = dimension; } public String getBasicName() { return basicType.getBasicName(); } public String getName() { StringBuffer arrayDimIndicator = new StringBuffer(); final int arrayDimension = getArrayDimension(); for (int i = 0; i < arrayDimension; i++) { arrayDimIndicator.append("[]"); } return basicType.getBasicName() + arrayDimIndicator; } public JavaType getContainingClass() { // TODO Auto-generated method stub return null; } public JavaType[] getSuperClasses() { // TODO Auto-generated method stub return null; } public JavaType[] getAllInterfaces() { // TODO Auto-generated method stub return null; } public JavaType[] getInnerClasses() { // TODO Auto-generated method stub return null; } public Method[] getMethods() { // TODO Auto-generated method stub return null; } public Field[] getFields() { return new Field[0]; } public int getArrayDimension() { return dimension; } public boolean isPrimitive() { return basicType.isPrimitive(); } public boolean isFinal() { return false; } public boolean isAbstract() { return false; } public boolean isInterface() { // TODO Auto-generated method stub return false; } public Scope getDeclaredScope() { return basicType.getDeclaredScope(); } public Scope getEffectiveScope() { return basicType.getEffectiveScope(); } public String toString() { return "ArrayType[" + basicType.toString() + " ^ " + dimension + "]"; } } Index: AsmMethod.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm/AsmMethod.java,v retrieving revision 1.2 retrieving revision 1.3 diff -u -r1.2 -r1.3 --- AsmMethod.java 28 Mar 2006 19:25:55 -0000 1.2 +++ AsmMethod.java 29 Mar 2006 12:21:41 -0000 1.3 @@ -7,7 +7,7 @@ import net.sf.clirr.core.spi.Method; import net.sf.clirr.core.spi.Scope; -public class AsmMethod extends AbstractAsmScoped implements Method +class AsmMethod extends AbstractAsmScoped implements Method { private final Repository repository; @@ -36,12 +36,12 @@ { return null; } - return findJavaType(returnType); + final JavaType javaType = findJavaType(returnType); + return javaType; } public JavaType[] getArgumentTypes() { - // TODO support primitive types JavaType[] ret = new JavaType[argumentTypes.length]; for (int i = 0; i < ret.length; i++) { Index: AsmJavaType.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm/AsmJavaType.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- AsmJavaType.java 16 Mar 2006 22:30:19 -0000 1.1 +++ AsmJavaType.java 29 Mar 2006 12:21:41 -0000 1.2 @@ -1,7 +1,10 @@ package net.sf.clirr.core.internal.asm; import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashSet; import java.util.List; +import java.util.Set; import org.objectweb.asm.Opcodes; @@ -10,11 +13,11 @@ import net.sf.clirr.core.spi.Method; import net.sf.clirr.core.spi.Scope; -public class AsmJavaType extends AbstractAsmScoped implements JavaType +class AsmJavaType extends AbstractAsmScoped implements JavaType { private final Repository repository; - private final String name; + private final String basicName; private String superClassName; @@ -24,11 +27,11 @@ private final String[] interfaceNames; - public AsmJavaType(Repository repository, int access, String name, String superClassName, String[] interfaceNames) + public AsmJavaType(Repository repository, int access, String basicName, String superClassName, String[] interfaceNames) { super(access); this.repository = repository; - this.name = name; + this.basicName = basicName; this.superClassName = superClassName; this.interfaceNames = interfaceNames; } @@ -36,13 +39,13 @@ public String getBasicName() { - // TODO handle array types correctly - return name; + return basicName; } public String getName() { - return name; + // arrays are always represented by ArrayType instances, so name == basicName + return basicName; } public JavaType getContainingClass() @@ -67,11 +70,21 @@ public JavaType[] getAllInterfaces() { - JavaType[] ret = new JavaType[interfaceNames.length]; - for (int i = 0; i < ret.length; i++) + Set interfaceSet = new HashSet(interfaceNames.length); + for (int i = 0; i < interfaceNames.length; i++) { - ret[i] = repository.findTypeByName(interfaceNames[i]); + JavaType type = repository.findTypeByName(interfaceNames[i]); + interfaceSet.add(type); } + JavaType[] superClasses = getSuperClasses(); + for (int i = 0; i < superClasses.length; i++) + { + JavaType superClass = superClasses[i]; + final JavaType[] superInterfaces = superClass.getAllInterfaces(); + interfaceSet.addAll(Arrays.asList(superInterfaces)); + } + final JavaType[] ret = new JavaType[interfaceSet.size()]; + interfaceSet.toArray(ret); return ret; } @@ -138,8 +151,36 @@ return getDeclaredScope(); } + public String toString() { - return "AsmJavaType[" + name + "]"; + return "AsmJavaType[" + getName() + "]"; } + + + public boolean equals(Object obj) + { + if (obj == null) + { + return false; + } + if (!AsmJavaType.class.equals(obj.getClass())) + { + return false; + } + AsmJavaType other = (AsmJavaType) obj; + if (other.repository != this.repository) + { + return false; + } + return (other.getName().equals(this.getName())); + } + + + public int hashCode() + { + return getName().hashCode(); + } + + } Index: Repository.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm/Repository.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Repository.java 16 Mar 2006 22:30:19 -0000 1.1 +++ Repository.java 29 Mar 2006 12:21:41 -0000 1.2 @@ -23,17 +23,16 @@ */ class Repository { - private static final Pattern PRIMITIVE_PATTERN = Pattern.compile("(int|float|long|double|boolean|char|short)(\\[\\])*"); + private static final Pattern PRIMITIVE_PATTERN = Pattern.compile("(int|float|long|double|boolean|char|short|byte)"); + private static final Pattern ARRAY_PATTERN = Pattern.compile("(\\[\\])+$"); private static final class PrimitiveType implements JavaType { private final String basicName; - private final int dimension; - private PrimitiveType(String name, int dimension) + private PrimitiveType(String name) { this.basicName = name; - this.dimension = dimension; } public String getBasicName() @@ -43,11 +42,6 @@ public String getName() { - String name = basicName; - for (int i = 0; i < getArrayDimension(); i++) - { - name += "[]"; - } return basicName; } @@ -83,7 +77,7 @@ public int getArrayDimension() { - return dimension; + return 0; } public boolean isPrimitive() @@ -150,42 +144,49 @@ return javaType; } - public JavaType findTypeByName(String typeName) + public JavaType findTypeByName(String fullTypeName) { + // separate basic typename and array brackets + final Matcher arrayMatcher = ARRAY_PATTERN.matcher(fullTypeName); + final String typeName; + final int dimension; + if (arrayMatcher.find()) + { + String brackets = arrayMatcher.group(); + typeName = fullTypeName.substring(0, fullTypeName.length() - brackets.length()); + dimension = brackets.length() / 2; + } + else + { + typeName = fullTypeName; + dimension = 0; + } + + // search cache for basic typename JavaType type = (JavaType) nameTypeMap.get(typeName); if (type != null) { - return type; + return wrapInArrayTypeIfRequired(dimension, type); } - final Matcher matcher = PRIMITIVE_PATTERN.matcher(typeName); - if (matcher.matches()) + + final Matcher primitiveMatcher = PRIMITIVE_PATTERN.matcher(typeName); + if (primitiveMatcher.matches()) { - final String basicType = matcher.group(1); - final String arrayBrackets = matcher.group(2); - final int dimension = arrayBrackets == null ? 0 : arrayBrackets.length() / 2; - JavaType primitive = new PrimitiveType(basicType, dimension); + JavaType primitive = new PrimitiveType(typeName); nameTypeMap.put(typeName, primitive); - return primitive; + return wrapInArrayTypeIfRequired(dimension, primitive); } + String resourceName = typeName.replace('.', '/') + ".class"; InputStream is = classLoader.getResourceAsStream(resourceName); if (is == null) { - String clDetails; - if (classLoader instanceof URLClassLoader) - { - URLClassLoader ucl = (URLClassLoader) classLoader; - clDetails = String.valueOf(Arrays.asList(ucl.getURLs())); - } - else - { - clDetails = String.valueOf(classLoader); - } - throw new IllegalArgumentException("Type " + typeName + " is unknown in classLoader " + clDetails); + reportTypeUnknownInClassLoader(typeName); } try { - return readJavaTypeFromStream(is); + final AsmJavaType javaType = readJavaTypeFromStream(is); + return wrapInArrayTypeIfRequired(dimension, javaType); } catch (IOException ex) { @@ -203,4 +204,37 @@ } } + /** + * @param dimension + * @param javaType + * @return + */ + private JavaType wrapInArrayTypeIfRequired(final int dimension, final JavaType javaType) + { + if (dimension == 0) + { + return javaType; + } + final ArrayType arrayType = new ArrayType(javaType, dimension); + return arrayType; + } + + /** + * @param typeName + */ + private void reportTypeUnknownInClassLoader(final String typeName) + { + String clDetails; + if (classLoader instanceof URLClassLoader) + { + URLClassLoader ucl = (URLClassLoader) classLoader; + clDetails = String.valueOf(Arrays.asList(ucl.getURLs())); + } + else + { + clDetails = String.valueOf(classLoader); + } + throw new IllegalArgumentException("Type " + typeName + " is unknown in classLoader " + clDetails); + } + } |
From: <lk...@us...> - 2006-03-29 12:21:46
|
Update of /cvsroot/clirr/clirr/core/src/test/net/sf/clirr/core/internal/checks In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19663/src/test/net/sf/clirr/core/internal/checks Modified Files: ArraysTest.java Log Message: Fixed regression #1459639, array dimension change no longer detected. While I was working on that bug, I noticed a few other glitches that were introduced when switching from BCEL to ASM, some of them are fixed in this commit as well. Index: ArraysTest.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/test/net/sf/clirr/core/internal/checks/ArraysTest.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- ArraysTest.java 27 Mar 2006 22:00:14 -0000 1.1 +++ ArraysTest.java 29 Mar 2006 12:21:41 -0000 1.2 @@ -1,33 +1,39 @@ package net.sf.clirr.core.internal.checks; -import net.sf.clirr.core.internal.ClassChangeCheck; -import net.sf.clirr.core.ClassSelector; import net.sf.clirr.core.ClassFilter; -import net.sf.clirr.core.internal.checks.ClassModifierCheck; -import net.sf.clirr.core.internal.checks.AbstractCheckTestCase; +import net.sf.clirr.core.ClassSelector; +import net.sf.clirr.core.ScopeSelector; +import net.sf.clirr.core.Severity; +import net.sf.clirr.core.internal.ClassChangeCheck; +import net.sf.clirr.core.spi.Scope; /** * Tests for the ClassModifierCheck class. */ public class ArraysTest extends AbstractCheckTestCase { - public void testAll() throws Exception + public void testReturnTypeChanges() throws Exception { ExpectedDiff[] expected = new ExpectedDiff[] { -// TODO: enable the following expected messages: -// ERROR: 7006: testlib.arrays.Arrays: Return type of method 'public java.lang.String[][] arrayDimDecreases()' has been changed to java.lang.String[] -// ERROR: 7006: testlib.arrays.Arrays: Return type of method 'public java.lang.String[] arrayDimIncreases()' has been changed to java.lang.String[][] -// ERROR: 7006: testlib.arrays.Arrays: Return type of method 'public java.lang.String[] objectArrayBecomesObject()' has been changed to java.lang.String -// ERROR: 7006: testlib.arrays.Arrays: Return type of method 'public java.lang.String objectBecomesArray()' has been changed to java.lang.String[] -// ERROR: 7006: testlib.arrays.Arrays: Return type of method 'public int[] primitiveArrayBecomesPrimitive()' has been changed to int -// ERROR: 7006: testlib.arrays.Arrays: Return type of method 'public int primitiveBecomesArray()' has been changed to int[] + new ExpectedDiff("Return type of method 'public java.lang.String[][] arrayDimDecreases()' has been changed to java.lang.String[]", + Severity.ERROR, "testlib.arrays.Arrays", "public java.lang.String[][] arrayDimDecreases()", null), + new ExpectedDiff("Return type of method 'public java.lang.String[] arrayDimIncreases()' has been changed to java.lang.String[][]", + Severity.ERROR, "testlib.arrays.Arrays", "public java.lang.String[] arrayDimIncreases()", null), + new ExpectedDiff("Return type of method 'public java.lang.String[] objectArrayBecomesObject()' has been changed to java.lang.String", + Severity.ERROR, "testlib.arrays.Arrays", "public java.lang.String[] objectArrayBecomesObject()", null), + new ExpectedDiff("Return type of method 'public int primitiveBecomesArray()' has been changed to int[]", + Severity.ERROR, "testlib.arrays.Arrays", "public int primitiveBecomesArray()", null), + new ExpectedDiff("Return type of method 'public java.lang.String objectBecomesArray()' has been changed to java.lang.String[]", + Severity.ERROR, "testlib.arrays.Arrays", "public java.lang.String objectBecomesArray()", null), + new ExpectedDiff("Return type of method 'public int[] primitiveArrayBecomesPrimitive()' has been changed to int", + Severity.ERROR, "testlib.arrays.Arrays", "public int[] primitiveArrayBecomesPrimitive()", null), }; verify(expected); } protected ClassChangeCheck createCheck() { - return new ClassModifierCheck(getTestDiffListener()); + return new MethodSetCheck(getTestDiffListener(), new ScopeSelector(Scope.PROTECTED)); } protected ClassFilter createClassFilter() |
From: <lk...@us...> - 2006-03-29 12:21:46
|
Update of /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/checks In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19663/src/java/net/sf/clirr/core/internal/checks Modified Files: FieldSetCheck.java MethodSetCheck.java Log Message: Fixed regression #1459639, array dimension change no longer detected. While I was working on that bug, I noticed a few other glitches that were introduced when switching from BCEL to ASM, some of them are fixed in this commit as well. Index: FieldSetCheck.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/checks/FieldSetCheck.java,v retrieving revision 1.8 retrieving revision 1.9 diff -u -r1.8 -r1.9 --- FieldSetCheck.java 26 Aug 2005 05:35:52 -0000 1.8 +++ FieldSetCheck.java 29 Mar 2006 12:21:41 -0000 1.9 @@ -171,8 +171,8 @@ private void checkForTypeChange(Field bField, Field cField, JavaType currentClass) { - final String bSig = bField.getType().toString(); - final String cSig = cField.getType().toString(); + final String bSig = bField.getType().getName(); + final String cSig = cField.getType().getName(); if (!bSig.equals(cSig)) { fireDiff(MSG_FIELD_TYPE_CHANGED, Index: MethodSetCheck.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/checks/MethodSetCheck.java,v retrieving revision 1.11 retrieving revision 1.12 diff -u -r1.11 -r1.12 --- MethodSetCheck.java 16 Mar 2006 22:30:19 -0000 1.11 +++ MethodSetCheck.java 29 Mar 2006 12:21:41 -0000 1.12 @@ -302,7 +302,7 @@ int retVal = 0; for (int i = 0; i < m1Args.length; i++) { - if (!m1Args[i].toString().equals(m2Args[i].toString())) + if (!m1Args[i].getName().equals(m2Args[i].getName())) { retVal += 1; } @@ -589,7 +589,7 @@ String[] args = { "" + (i + 1), - cArg.toString() + cArg.getName() }; fireDiff(MSG_METHOD_PARAMTYPE_CHANGED, getSeverity(compatBaseline, baselineMethod, Severity.ERROR), @@ -719,7 +719,8 @@ } else { - buf.append(method.getReturnType()); + final JavaType returnType = method.getReturnType(); + buf.append(returnType == null ? "void" : returnType.getName()); buf.append(' '); } buf.append(name); |
From: <lk...@us...> - 2006-03-28 22:06:11
|
Update of /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/spi In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv11874/src/java/net/sf/clirr/core/spi Modified Files: Scope.java Log Message: added toString() as a debugging aid Index: Scope.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/spi/Scope.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- Scope.java 26 Aug 2005 05:29:52 -0000 1.1 +++ Scope.java 28 Mar 2006 22:06:04 -0000 1.2 @@ -57,4 +57,9 @@ { return decl; } + + public String toString() + { + return "Scope[" + desc + "]"; + } } |
From: <lk...@us...> - 2006-03-28 19:26:05
|
Update of /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv16791/src/java/net/sf/clirr/core/internal/asm Modified Files: AsmMethod.java Log Message: extract method to avoid duplicate code Index: AsmMethod.java =================================================================== RCS file: /cvsroot/clirr/clirr/core/src/java/net/sf/clirr/core/internal/asm/AsmMethod.java,v retrieving revision 1.1 retrieving revision 1.2 diff -u -r1.1 -r1.2 --- AsmMethod.java 16 Mar 2006 22:30:19 -0000 1.1 +++ AsmMethod.java 28 Mar 2006 19:25:55 -0000 1.2 @@ -36,7 +36,7 @@ { return null; } - return repository.findTypeByName(returnType.getClassName()); + return findJavaType(returnType); } public JavaType[] getArgumentTypes() @@ -45,11 +45,16 @@ JavaType[] ret = new JavaType[argumentTypes.length]; for (int i = 0; i < ret.length; i++) { - final String className = argumentTypes[i].getClassName(); - ret[i] = repository.findTypeByName(className); + ret[i] = findJavaType(argumentTypes[i]); } return ret; } + + private JavaType findJavaType(Type asmType) + { + String name = asmType.getClassName(); + return repository.findTypeByName(name); + } public JavaType[] getDeclaredExceptions() { |
From: <lk...@us...> - 2006-03-27 22:00:23
|
Update of /cvsroot/clirr/clirr/core/src/testinput/testlib-v1/testlib/arrays In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10765/src/testinput/testlib-v1/testlib/arrays Added Files: Arrays.java Log Message: added test code for bug #1459639 --- NEW FILE --- package testlib.arrays; public class Arrays { public static int primitiveBecomesArray() { return 0; } public static int[] primitiveArrayBecomesPrimitive() { return null; } public static String objectBecomesArray() { return null; } public static String[] objectArrayBecomesObject() { return null; } public static String[] arrayDimIncreases() { return null; } public static String[][] arrayDimDecreases() { return null; } } |
From: <lk...@us...> - 2006-03-27 22:00:22
|
Update of /cvsroot/clirr/clirr/core/src/test/net/sf/clirr/core/internal/checks In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10765/src/test/net/sf/clirr/core/internal/checks Added Files: ArraysTest.java Log Message: added test code for bug #1459639 --- NEW FILE --- package net.sf.clirr.core.internal.checks; import net.sf.clirr.core.internal.ClassChangeCheck; import net.sf.clirr.core.ClassSelector; import net.sf.clirr.core.ClassFilter; import net.sf.clirr.core.internal.checks.ClassModifierCheck; import net.sf.clirr.core.internal.checks.AbstractCheckTestCase; /** * Tests for the ClassModifierCheck class. */ public class ArraysTest extends AbstractCheckTestCase { public void testAll() throws Exception { ExpectedDiff[] expected = new ExpectedDiff[] { // TODO: enable the following expected messages: // ERROR: 7006: testlib.arrays.Arrays: Return type of method 'public java.lang.String[][] arrayDimDecreases()' has been changed to java.lang.String[] // ERROR: 7006: testlib.arrays.Arrays: Return type of method 'public java.lang.String[] arrayDimIncreases()' has been changed to java.lang.String[][] // ERROR: 7006: testlib.arrays.Arrays: Return type of method 'public java.lang.String[] objectArrayBecomesObject()' has been changed to java.lang.String // ERROR: 7006: testlib.arrays.Arrays: Return type of method 'public java.lang.String objectBecomesArray()' has been changed to java.lang.String[] // ERROR: 7006: testlib.arrays.Arrays: Return type of method 'public int[] primitiveArrayBecomesPrimitive()' has been changed to int // ERROR: 7006: testlib.arrays.Arrays: Return type of method 'public int primitiveBecomesArray()' has been changed to int[] }; verify(expected); } protected ClassChangeCheck createCheck() { return new ClassModifierCheck(getTestDiffListener()); } protected ClassFilter createClassFilter() { // only apply the check to classes in the testlib.modifiers package. ClassSelector classSelector = new ClassSelector(ClassSelector.MODE_IF); classSelector.addPackage("testlib.arrays"); return classSelector; } } |
From: <lk...@us...> - 2006-03-27 22:00:22
|
Update of /cvsroot/clirr/clirr/core/src/testinput/testlib-v2/testlib/arrays In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10765/src/testinput/testlib-v2/testlib/arrays Added Files: Arrays.java Log Message: added test code for bug #1459639 --- NEW FILE --- package testlib.arrays; public class Arrays { public static int[] primitiveBecomesArray() { return null; } public static int primitiveArrayBecomesPrimitive() { return 0; } public static String[] objectBecomesArray() { return null; } public static String objectArrayBecomesObject() { return null; } public static String[][] arrayDimIncreases() { return null; } public static String[] arrayDimDecreases() { return null; } } |
From: <lk...@us...> - 2006-03-27 21:59:57
|
Update of /cvsroot/clirr/clirr/core/src/testinput/testlib-v1/testlib/arrays In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10368/src/testinput/testlib-v1/testlib/arrays Log Message: Directory /cvsroot/clirr/clirr/core/src/testinput/testlib-v1/testlib/arrays added to the repository |
From: <lk...@us...> - 2006-03-27 21:59:57
|
Update of /cvsroot/clirr/clirr/core/src/testinput/testlib-v2/testlib/arrays In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10368/src/testinput/testlib-v2/testlib/arrays Log Message: Directory /cvsroot/clirr/clirr/core/src/testinput/testlib-v2/testlib/arrays added to the repository |
From: SourceForge.net <no...@so...> - 2006-03-27 21:45:12
|
Bugs item #1459639, was opened at 2006-03-27 23:45 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=1459639&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: 7 Submitted By: Lars Kühne (lkuehne) Assigned to: Lars Kühne (lkuehne) Summary: array dimension change no longer detected Initial Comment: When a method changes returns an array and changes the array dimension, that change is no longer detected. This is a regression, it used to work with the BCEL backend in 0.6. Array dimension changes are currently not covered by our unit tests. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=590799&aid=1459639&group_id=89627 |
From: Simon K. <ski...@ap...> - 2006-03-18 20:40:20
|
On Sat, 2006-03-18 at 12:22 -0800, Lars Kühne wrote: > Update of /cvsroot/clirr/clirr/xdocs > In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19535/xdocs > > Modified Files: > contributing.xml > Log Message: > reference ASL2 instead of LGPL Cool! Nice to see the ASM-related work too Lars. Cheers, Simon |
From: <lk...@us...> - 2006-03-18 20:25:55
|
Update of /cvsroot/clirr/clirr In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv20652 Modified Files: project.xml Log Message: added version 0.6, changed curret version to 0.7-dev. Also mention source compatibility in project description Index: project.xml =================================================================== RCS file: /cvsroot/clirr/clirr/project.xml,v retrieving revision 1.29 retrieving revision 1.30 diff -u -r1.29 -r1.30 --- project.xml 19 Sep 2005 13:15:26 -0000 1.29 +++ project.xml 18 Mar 2006 20:25:52 -0000 1.30 @@ -14,7 +14,7 @@ <!-- The version of the project under development, e.g. 1.1, 1.2, 2.0-dev --> - <currentVersion>0.6</currentVersion> + <currentVersion>0.7-dev</currentVersion> <!-- details about the organization that 'owns' the project --> <organization> @@ -27,17 +27,17 @@ <package>net.sf.clirr</package> <logo>/images/clirr.png</logo> <description> - Clirr is a tool that checks Java libraries for binary + Clirr is a tool that checks Java libraries for binary and source compatibility with older releases. Basically you give it two sets of jar files and Clirr dumps out a list of changes in the public api. Clirr provides an Ant task that can be configured to break the build if it detects incompatible api changes. In a continuous integration process Clirr can automatically prevent accidental - introduction of binary compatibility problems in Java libraries. + introduction of compatibility problems in Java libraries. </description> <!-- a short description of what the project does --> <shortDescription> - Java binary compatibility checker + Java compatibility checker </shortDescription> <!-- the project home page --> @@ -76,6 +76,11 @@ <name>0.5</name> <tag>RELEASE_CLIRR_0_5</tag> </version> + <version> + <id>0.6</id> + <name>0.6</name> + <tag>RELEASE_CLIRR_0_6</tag> + </version> </versions> <!-- any mailing lists for the project --> |
From: <lk...@us...> - 2006-03-18 20:23:00
|
Update of /cvsroot/clirr/clirr/xdocs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19535/xdocs Modified Files: contributing.xml Log Message: reference ASL2 instead of LGPL Index: contributing.xml =================================================================== RCS file: /cvsroot/clirr/clirr/xdocs/contributing.xml,v retrieving revision 1.4 retrieving revision 1.5 diff -u -r1.4 -r1.5 --- contributing.xml 6 Aug 2005 12:59:46 -0000 1.4 +++ contributing.xml 18 Mar 2006 20:22:52 -0000 1.5 @@ -18,7 +18,7 @@ </p> <p> Note that anything you contribute must have the same license - as the rest of Clirr, i.e. LGPL, Copyright Lars Kühne. + as the rest of Clirr, i.e. ASL2, Copyright Lars Kühne. </p> </section> <section name="Copyright Lars? Why not copyright myself?"> @@ -37,27 +37,27 @@ </p> <p> In fact it doesn't. Think about it: You give copyright to Lars, - Lars immediately gives you the right to use the code under LGPL. + Lars immediately gives you the right to use the code under ASL2. What have you lost? You can still </p> <ul> <li>claim authorship in the Javadoc or other comments, so credit goes where it should.</li> <li>redistribute the code in source or binary form - (provided the terms of the LGPL are met).</li> + (provided the terms of the license are met).</li> <li>use the code in a commercial environment or link it into IDEs.</li> <li>fork the codebase if you are not happy with the way Lars is running the project.</li> </ul> <p> - Because the code is licensed under the LGPL, + Because the code is licensed under the ASL2, the only thing you give up by assigning copyright to Lars is the right to veto a re-licensing of the code. - For example Lars could re-license Clirr under - the Apache license without having to contact + For example Lars could eventually re-license Clirr under + a new version of the Apache license without having to contact everybody who has ever contributed. Note that you would not lose any of the work you (and others) - have done as it would still be licensed under LGPL - <em>noone + have done as it would still be licensed under ASL2 - <em>noone can ever take these rights away from you</em>! </p> </section> |
From: <lk...@us...> - 2006-03-18 20:22:17
|
Update of /cvsroot/clirr/clirr/xdocs In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv19103/xdocs Modified Files: index.xml Log Message: added short license blurb to front page Index: index.xml =================================================================== RCS file: /cvsroot/clirr/clirr/xdocs/index.xml,v retrieving revision 1.6 retrieving revision 1.7 diff -u -r1.6 -r1.7 --- index.xml 27 Jun 2004 14:21:43 -0000 1.6 +++ index.xml 18 Mar 2006 20:22:10 -0000 1.7 @@ -67,5 +67,29 @@ meaning that binary incompatibility problems were detected and broke the build. </p> </section> + + <section name="License"> +<p> +Clirr: compares two versions of a java library for binary compatibility +</p> +<p> +Copyright (C) 2003 - 2006 Lars Kühne +</p> +<p> + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at +</p> +<pre> + http://www.apache.org/licenses/LICENSE-2.0 +</pre> +<p> + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +</p> + </section> </body> </document> |
From: <lk...@us...> - 2006-03-18 15:45:28
|
Update of /cvsroot/clirr/clirr In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv25519 Modified Files: LICENSE.txt Removed Files: LICENSE.LGPL Log Message: changed license from LGPL to ASL2 Index: LICENSE.txt =================================================================== RCS file: /cvsroot/clirr/clirr/LICENSE.txt,v retrieving revision 1.3 retrieving revision 1.4 diff -u -r1.3 -r1.4 --- LICENSE.txt 3 Aug 2005 18:34:26 -0000 1.3 +++ LICENSE.txt 18 Mar 2006 15:45:22 -0000 1.4 @@ -1,16 +1,202 @@ -Clirr: compares two versions of a java library for binary compatibility -Copyright (C) 2003 - 2005 Lars Kühne -This library is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public -License as published by the Free Software Foundation; either -version 2.1 of the License, or (at your option) any later version. - -This library is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -Lesser General Public License for more details. - -You should have received a copy of the GNU Lesser General Public -License along with this library; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. |
From: <lk...@us...> - 2006-03-16 22:30:33
|
Update of /cvsroot/clirr/clirr/core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv6735 Modified Files: project.xml Log Message: Replaced BCEL with ASM. This lays the groundwork for the Java5 RFEs and also fixes bug 1373831, which was caused by a bug in BCEL. As an added bonus, the uberjar file size drops by several hundred KB. Index: project.xml =================================================================== RCS file: /cvsroot/clirr/clirr/core/project.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- project.xml 15 Feb 2006 21:25:58 -0000 1.5 +++ project.xml 16 Mar 2006 22:30:19 -0000 1.6 @@ -16,12 +16,6 @@ <!-- jar files the project is dependent on --> <dependencies> <dependency> - <groupId>bcel</groupId> - <artifactId>bcel</artifactId> - <version>5.1</version> - <url>http://jakarta.apache.org/bcel</url> - </dependency> - <dependency> <groupId>asm</groupId> <artifactId>asm-all</artifactId> <version>2.2</version> |