diff --git a/buildSrc/src/main/java/org/ultramine/gradle/task/SpeicialClassTransformTask.java b/buildSrc/src/main/java/org/ultramine/gradle/task/SpeicialClassTransformTask.java index f6ab49b..4ce68df 100644 --- a/buildSrc/src/main/java/org/ultramine/gradle/task/SpeicialClassTransformTask.java +++ b/buildSrc/src/main/java/org/ultramine/gradle/task/SpeicialClassTransformTask.java @@ -4,6 +4,7 @@ import org.apache.commons.io.FileUtils; import org.gradle.api.DefaultTask; import org.gradle.api.tasks.Input; +import org.gradle.api.tasks.InputDirectory; import org.gradle.api.tasks.OutputDirectory; import org.gradle.api.tasks.ParallelizableTask; import org.gradle.api.tasks.TaskAction; @@ -13,6 +14,7 @@ import org.objectweb.asm.ClassWriter; import org.objectweb.asm.Opcodes; import org.objectweb.asm.tree.AbstractInsnNode; +import org.objectweb.asm.tree.AnnotationNode; import org.objectweb.asm.tree.ClassNode; import org.objectweb.asm.tree.LdcInsnNode; import org.objectweb.asm.tree.MethodNode; @@ -32,6 +34,7 @@ @ParallelizableTask public class SpeicialClassTransformTask extends DefaultTask { + @InputDirectory private File inputDir; @OutputDirectory private File outputDir = new File(getProject().getBuildDir(), getName()); @@ -116,7 +119,7 @@ if(file.isDirectory()) return; String path = getRelPath(file); - processClass(path, transformerMap.get(file)); + processClass(path, transformerMap.get(path)); } private void processClass(String path, List transfs) @@ -176,6 +179,8 @@ @Override public void transform(ClassNode node) { + replaceAnnotations(node.visibleAnnotations); + replaceAnnotations(node.invisibleAnnotations); for(Object o : node.methods) { MethodNode m = (MethodNode) o; @@ -193,6 +198,38 @@ } } + private void replaceAnnotations(List anns) + { + if(anns == null) + return; + for(AnnotationNode ann : anns) + { + if(ann.values != null) + { + for(int x = 0; x < ann.values.size() - 1; x += 2) + { + Object value = ann.values.get(x+1); + if(value instanceof String) + { + String replacement = replaceMap.get(value); + if(replacement != null) + ann.values.set(x+1, replacement); + } + else if(value instanceof String[]) + { + String[] arr = (String[]) value; + for(int j = 0; j < arr.length; j++) + { + String replacement = replaceMap.get(arr[j]); + if(replacement != null) + arr[j] = replacement; + } + } + } + } + } + } + @Override public int getWriteFlags() { @@ -211,5 +248,25 @@ { replaceMap.put(search, replacement); } + + @Override + public boolean equals(Object o) + { + if(this == o) return true; + if(o == null || getClass() != o.getClass()) return false; + + ReplaceStringTransformer that = (ReplaceStringTransformer) o; + + if(path != null ? !path.equals(that.path) : that.path != null) return false; + return replaceMap != null ? replaceMap.equals(that.replaceMap) : that.replaceMap == null; + } + + @Override + public int hashCode() + { + int result = path != null ? path.hashCode() : 0; + result = 31 * result + (replaceMap != null ? replaceMap.hashCode() : 0); + return result; + } } } diff --git a/gradle/wrapper/gradle-wrapper.jar b/gradle/wrapper/gradle-wrapper.jar index 3c7abdf..51288f9 100644 --- a/gradle/wrapper/gradle-wrapper.jar +++ b/gradle/wrapper/gradle-wrapper.jar Binary files differ diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties index eb67457..c181797 100644 --- a/gradle/wrapper/gradle-wrapper.properties +++ b/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Thu Apr 24 12:13:23 VLAT 2014 +#Mon Dec 26 01:51:59 MSK 2016 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=http\://services.gradle.org/distributions/gradle-2.10-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-3.2.1-all.zip diff --git a/latest/UMShops-1.7.10-0.2.0-client.jar b/latest/UMShops-1.7.10-0.2.0-client.jar new file mode 100644 index 0000000..8bdce4b --- /dev/null +++ b/latest/UMShops-1.7.10-0.2.0-client.jar Binary files differ diff --git a/latest/UMShops-1.7.10-0.2.0-server.jar b/latest/UMShops-1.7.10-0.2.0-server.jar new file mode 100644 index 0000000..556f1e6 --- /dev/null +++ b/latest/UMShops-1.7.10-0.2.0-server.jar Binary files differ diff --git a/latest/UMShops-1.7.10-0.2.0-universal.jar b/latest/UMShops-1.7.10-0.2.0-universal.jar new file mode 100644 index 0000000..62f2c71 --- /dev/null +++ b/latest/UMShops-1.7.10-0.2.0-universal.jar Binary files differ