diff --git a/README.en.md b/README.en.md deleted file mode 100644 index 7fa90a8..0000000 --- a/README.en.md +++ /dev/null @@ -1,36 +0,0 @@ -# jarjar - -#### Description -Jar jar links is a utility that makes it easy to repackage java libraries. - -#### Software Architecture -Software architecture description - -#### Installation - -1. xxxx -2. xxxx -3. xxxx - -#### Instructions - -1. xxxx -2. xxxx -3. xxxx - -#### Contribution - -1. Fork the repository -2. Create Feat_xxx branch -3. Commit your code -4. Create Pull Request - - -#### Gitee Feature - -1. You can use Readme\_XXX.md to support different languages, such as Readme\_en.md, Readme\_zh.md -2. Gitee blog [blog.gitee.com](https://blog.gitee.com) -3. Explore open source project [https://gitee.com/explore](https://gitee.com/explore) -4. The most valuable open source project [GVP](https://gitee.com/gvp) -5. The manual of Gitee [https://gitee.com/help](https://gitee.com/help) -6. The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/README.md b/README.md deleted file mode 100644 index d6b3600..0000000 --- a/README.md +++ /dev/null @@ -1,37 +0,0 @@ -# jarjar - -#### 介绍 -Jar jar links is a utility that makes it easy to repackage java libraries. - -#### 软件架构 -软件架构说明 - - -#### 安装教程 - -1. xxxx -2. xxxx -3. xxxx - -#### 使用说明 - -1. xxxx -2. xxxx -3. xxxx - -#### 参与贡献 - -1. Fork 本仓库 -2. 新建 Feat_xxx 分支 -3. 提交代码 -4. 新建 Pull Request - - -#### 码云特技 - -1. 使用 Readme\_XXX.md 来支持不同的语言,例如 Readme\_en.md, Readme\_zh.md -2. 码云官方博客 [blog.gitee.com](https://blog.gitee.com) -3. 你可以 [https://gitee.com/explore](https://gitee.com/explore) 这个地址来了解码云上的优秀开源项目 -4. [GVP](https://gitee.com/gvp) 全称是码云最有价值开源项目,是码云综合评定出的优秀开源项目 -5. 码云官方提供的使用手册 [https://gitee.com/help](https://gitee.com/help) -6. 码云封面人物是一档用来展示码云会员风采的栏目 [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/) diff --git a/do-not-embed-asm.patch b/do-not-embed-asm.patch new file mode 100644 index 0000000..4063b65 --- /dev/null +++ b/do-not-embed-asm.patch @@ -0,0 +1,28 @@ +--- src/build.xml.orig 2014-12-18 21:38:42.035192783 +0000 ++++ src/build.xml 2014-12-18 21:39:34.233460061 +0000 +@@ -95,16 +95,10 @@ + + + +- +- +- +- +- + + + + +- + + + +@@ -199,7 +199,7 @@ + + + +- ++ + + + diff --git a/fix-maven-plugin.patch b/fix-maven-plugin.patch new file mode 100644 index 0000000..c734aa5 --- /dev/null +++ b/fix-maven-plugin.patch @@ -0,0 +1,10 @@ +--- src/build.xml.orig 2013-09-15 17:37:59.398986270 +0100 ++++ src/build.xml 2013-09-15 17:38:27.659100029 +0100 +@@ -102,6 +102,7 @@ + + + ++ + + + diff --git a/jarjar-src-1.4.zip b/jarjar-src-1.4.zip new file mode 100644 index 0000000..ee2209c Binary files /dev/null and b/jarjar-src-1.4.zip differ diff --git a/jarjar-util.pom b/jarjar-util.pom new file mode 100644 index 0000000..78efe97 --- /dev/null +++ b/jarjar-util.pom @@ -0,0 +1,25 @@ + + 4.0.0 + tonic + jarjar-util + 1.4 + + + com.tonicsystems + jarjar-util + 1.4 + + + + + org.ow2.asm + asm + 5.0.3 + + + org.ow2.asm + asm-util + 5.0.3 + + + diff --git a/jarjar.pom b/jarjar.pom new file mode 100644 index 0000000..4b4e124 --- /dev/null +++ b/jarjar.pom @@ -0,0 +1,25 @@ + + 4.0.0 + tonic + jarjar + 1.4 + + + com.tonicsystems + jarjar + 1.4 + + + + + org.ow2.asm + asm + 5.0.3 + + + org.ow2.asm + asm-util + 5.0.3 + + + diff --git a/jarjar.spec b/jarjar.spec new file mode 100644 index 0000000..6e6e00a --- /dev/null +++ b/jarjar.spec @@ -0,0 +1,82 @@ +Name: jarjar +Version: 1.4 +Release: 23 +Summary: A utility that makes it easy to repackage Java libraries and embed them into your own distribution +License: ASL 2.0 +URL: https://code.google.com/archive/p/jarjar/ +Source0: https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/jarjar/jarjar-src-1.4.zip +# Pom file for jarjar maven project +Source1: jarjar.pom +# Pom file for jarjar-util maven project +Source2: jarjar-util.pom +# Add JarJarMojo for fixed build error +Patch0000: fix-maven-plugin.patch +# Remove asm in jarjar +Patch0001: do-not-embed-asm.patch +# Update asm4 to asm6 +Patch0002: port-to-asm6.patch +BuildRequires: ant ant-junit objectweb-asm javapackages-local maven +Requires: objectweb-asm javapackages-tools +BuildArch: noarch + +%description +jarjar (Jar Jar Links) is a utility that makes it easy to repackage Java libraries and embed them +into your own distribution. + +%package maven-plugin +Summary: Jarjar maven plugin +Requires: maven jarjar = %{version}-%{release} + +%description maven-plugin +jarjar (Jar Jar Links) is a utility that makes it easy to repackage Java libraries and embed them +into your own distribution. + +%package help +Summary: Documents for jarjar +Provides: jarjar-javadoc = %{version}-%{release} +Obsoletes: jarjar-javadoc < %{version}-%{release} + +%description help +The jarjar package contains related documents. + +%prep +%autosetup -n jarjar-%{version} -p1 +rm -f lib/*.jar +%mvn_package :jarjar-plugin jarjar-maven-plugin +echo "jarjar/jarjar objectweb-asm/asm objectweb-asm/asm-commons" > jarjar.ant + +%build +cd lib +ln -sf $(build-classpath objectweb-asm/asm) asm-4.0.jar +ln -sf $(build-classpath objectweb-asm/asm-commons) asm-commons-4.0.jar +ln -sf $(build-classpath maven/maven-plugin-api) maven-plugin-api.jar +cd - +export CLASSPATH=$(build-classpath ant) +ant jar jar-util javadoc mojo test +sed -i -e s/@VERSION@/%{version}/g maven/pom.xml +%mvn_artifact %{SOURCE1} dist/jarjar-%{version}.jar +%mvn_artifact %{SOURCE2} dist/jarjar-util-%{version}.jar +%mvn_artifact maven/pom.xml dist/jarjar-plugin-%{version}.jar +%mvn_alias tonic:jarjar jarjar:jarjar com.tonicsystems:jarjar com.googlecode.jarjar:jarjar org.gradle.jarjar:jarjar +%mvn_alias tonic:jarjar-util jarjar:jarjar-util com.tonicsystems:jarjar-util +%mvn_alias com.tonicsystems.jarjar:jarjar-plugin jarjar:jarjar-plugin tonic:jarjar-plugin com.tonicsystems:jarjar-plugin + +%install +%mvn_install -J dist/javadoc +%jpackage_script com.tonicsystems.jarjar.Main "" "" jarjar/jarjar:objectweb-asm/asm:objectweb-asm/asm-commons jarjar true +install -m 644 -D jarjar.ant %{buildroot}%{_sysconfdir}/ant.d/jarjar + +%files -f .mfiles +%doc COPYING +%{_bindir}/jarjar +%{_sysconfdir}/ant.d/jarjar +%dir %{_javadir}/jarjar + +%files maven-plugin -f .mfiles-jarjar-maven-plugin +%doc COPYING + +%files help -f .mfiles-javadoc + +%changelog +* Wed Mar 4 2020 Ling Yang - 1.4-23 +- Package Init diff --git a/port-to-asm6.patch b/port-to-asm6.patch new file mode 100644 index 0000000..bf8ff04 --- /dev/null +++ b/port-to-asm6.patch @@ -0,0 +1,147 @@ +From f3be10509b9ae73ee97bee82cb6150b98d4a4595 Mon Sep 17 00:00:00 2001 +From: Mikolaj Izdebski +Date: Mon, 18 Sep 2017 09:48:46 +0200 +Subject: [PATCH] Port to ASM 6 + +--- + src/main/com/tonicsystems/jarjar/DepFindVisitor.java | 2 +- + src/main/com/tonicsystems/jarjar/EmptyClassVisitor.java | 8 ++++---- + src/main/com/tonicsystems/jarjar/KeepProcessor.java | 2 +- + src/main/com/tonicsystems/jarjar/StringReader.java | 8 ++++---- + src/main/com/tonicsystems/jarjar/util/GetNameClassWriter.java | 2 +- + .../com/tonicsystems/jarjar/util/RemappingClassTransformer.java | 4 ++-- + 6 files changed, 13 insertions(+), 13 deletions(-) + +diff --git a/src/main/com/tonicsystems/jarjar/DepFindVisitor.java b/src/main/com/tonicsystems/jarjar/DepFindVisitor.java +index 9d6611e..bad909e 100644 +--- a/src/main/com/tonicsystems/jarjar/DepFindVisitor.java ++++ b/src/main/com/tonicsystems/jarjar/DepFindVisitor.java +@@ -25,7 +25,7 @@ import org.objectweb.asm.*; + import org.objectweb.asm.Type; + import org.objectweb.asm.commons.*; + +-class DepFindVisitor extends RemappingClassAdapter ++class DepFindVisitor extends ClassRemapper + { + public DepFindVisitor(Map classes, String source, DepHandler handler) throws IOException { + super(null, new DepFindRemapper(classes, source, handler)); +diff --git a/src/main/com/tonicsystems/jarjar/EmptyClassVisitor.java b/src/main/com/tonicsystems/jarjar/EmptyClassVisitor.java +index 348e03d..7a758fe 100644 +--- a/src/main/com/tonicsystems/jarjar/EmptyClassVisitor.java ++++ b/src/main/com/tonicsystems/jarjar/EmptyClassVisitor.java +@@ -28,23 +28,23 @@ import org.objectweb.asm.Opcodes; + public class EmptyClassVisitor extends ClassVisitor { + + public EmptyClassVisitor() { +- super(Opcodes.ASM4); ++ super(Opcodes.ASM6); + } + + @Override + public MethodVisitor visitMethod(int access, String name, String desc, + String signature, String[] exceptions) { +- return new MethodVisitor(Opcodes.ASM4) {}; ++ return new MethodVisitor(Opcodes.ASM6) {}; + } + + @Override + public AnnotationVisitor visitAnnotation(String desc, boolean visible) { +- return new AnnotationVisitor(Opcodes.ASM4) {}; ++ return new AnnotationVisitor(Opcodes.ASM6) {}; + } + + @Override + public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { +- return new FieldVisitor(Opcodes.ASM4) {}; ++ return new FieldVisitor(Opcodes.ASM6) {}; + } + + } +diff --git a/src/main/com/tonicsystems/jarjar/KeepProcessor.java b/src/main/com/tonicsystems/jarjar/KeepProcessor.java +index 0176b84..3ed4636 100644 +--- a/src/main/com/tonicsystems/jarjar/KeepProcessor.java ++++ b/src/main/com/tonicsystems/jarjar/KeepProcessor.java +@@ -26,7 +26,7 @@ import org.objectweb.asm.commons.*; + // TODO: this can probably be refactored into JarClassVisitor, etc. + class KeepProcessor extends Remapper implements JarProcessor + { +- private final ClassVisitor cv = new RemappingClassAdapter(new EmptyClassVisitor(), this); ++ private final ClassVisitor cv = new ClassRemapper(new EmptyClassVisitor(), this); + private final List wildcards; + private final List roots = new ArrayList(); + private final Map> depend = new HashMap>(); +diff --git a/src/main/com/tonicsystems/jarjar/StringReader.java b/src/main/com/tonicsystems/jarjar/StringReader.java +index ba7bb29..5bb719c 100644 +--- a/src/main/com/tonicsystems/jarjar/StringReader.java ++++ b/src/main/com/tonicsystems/jarjar/StringReader.java +@@ -24,7 +24,7 @@ abstract class StringReader extends ClassVisitor + private String className; + + public StringReader() { +- super(Opcodes.ASM4); ++ super(Opcodes.ASM6); + } + + abstract public void visitString(String className, String value, int line); +@@ -42,7 +42,7 @@ abstract class StringReader extends ClassVisitor + + public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { + handleObject(value); +- return new FieldVisitor(Opcodes.ASM4){ ++ return new FieldVisitor(Opcodes.ASM6){ + @Override + public AnnotationVisitor visitAnnotation(String desc, boolean visible) { + return StringReader.this.visitAnnotation(desc, visible); +@@ -52,7 +52,7 @@ abstract class StringReader extends ClassVisitor + + @Override + public AnnotationVisitor visitAnnotation(String desc, boolean visible) { +- return new AnnotationVisitor(Opcodes.ASM4) { ++ return new AnnotationVisitor(Opcodes.ASM6) { + @Override + public void visit(String name, Object value) { + handleObject(value); +@@ -71,7 +71,7 @@ abstract class StringReader extends ClassVisitor + @Override + public MethodVisitor visitMethod(int access, String name, String desc, + String signature, String[] exceptions) { +- MethodVisitor mv = new MethodVisitor(Opcodes.ASM4){ ++ MethodVisitor mv = new MethodVisitor(Opcodes.ASM6){ + @Override + public void visitLdcInsn(Object cst) { + handleObject(cst); +diff --git a/src/main/com/tonicsystems/jarjar/util/GetNameClassWriter.java b/src/main/com/tonicsystems/jarjar/util/GetNameClassWriter.java +index bbb8590..966ac82 100644 +--- a/src/main/com/tonicsystems/jarjar/util/GetNameClassWriter.java ++++ b/src/main/com/tonicsystems/jarjar/util/GetNameClassWriter.java +@@ -25,7 +25,7 @@ public class GetNameClassWriter extends ClassVisitor + private String className; + + public GetNameClassWriter(int flags) { +- super(Opcodes.ASM4,new ClassWriter(flags)); ++ super(Opcodes.ASM6,new ClassWriter(flags)); + } + + public void visit(int version, int access, String name, String signature, String superName, String[] interfaces) { +diff --git a/src/main/com/tonicsystems/jarjar/util/RemappingClassTransformer.java b/src/main/com/tonicsystems/jarjar/util/RemappingClassTransformer.java +index fd1b9d7..9c1d4c9 100644 +--- a/src/main/com/tonicsystems/jarjar/util/RemappingClassTransformer.java ++++ b/src/main/com/tonicsystems/jarjar/util/RemappingClassTransformer.java +@@ -17,12 +17,12 @@ + package com.tonicsystems.jarjar.util; + + import org.objectweb.asm.ClassVisitor; ++import org.objectweb.asm.commons.ClassRemapper; + import org.objectweb.asm.commons.Remapper; +-import org.objectweb.asm.commons.RemappingClassAdapter; + + import com.tonicsystems.jarjar.EmptyClassVisitor; + +-public class RemappingClassTransformer extends RemappingClassAdapter ++public class RemappingClassTransformer extends ClassRemapper + { + public RemappingClassTransformer(Remapper pr) { + super(new EmptyClassVisitor(), pr); +-- +2.13.5 +