diff options
author | 2015-06-25 22:30:45 +0000 | |
---|---|---|
committer | 2015-06-25 22:30:45 +0000 | |
commit | 0ef11ca9b9c52ca5efeceb4cbc7472b32d2e1b8b (patch) | |
tree | c99b6335f1e93e533e59c75c6809c7ea89667798 /dev-java/java-dep-check | |
parent | version bump (ebuild identical to 3.5.1) (diff) | |
download | historical-0ef11ca9b9c52ca5efeceb4cbc7472b32d2e1b8b.tar.gz historical-0ef11ca9b9c52ca5efeceb4cbc7472b32d2e1b8b.tar.bz2 historical-0ef11ca9b9c52ca5efeceb4cbc7472b32d2e1b8b.zip |
EAPI bump and rewrite using java-pkg-simple.
Package-Manager: portage-2.2.20/cvs/Linux x86_64
Manifest-Sign-Key: 0x9C6D7DE4
Diffstat (limited to 'dev-java/java-dep-check')
-rw-r--r-- | dev-java/java-dep-check/ChangeLog | 10 | ||||
-rw-r--r-- | dev-java/java-dep-check/Manifest | 27 | ||||
-rw-r--r-- | dev-java/java-dep-check/files/Main-0.2.java | 276 | ||||
-rw-r--r-- | dev-java/java-dep-check/files/Main.java | 233 | ||||
-rw-r--r-- | dev-java/java-dep-check/java-dep-check-0.3-r1.ebuild | 32 |
5 files changed, 64 insertions, 514 deletions
diff --git a/dev-java/java-dep-check/ChangeLog b/dev-java/java-dep-check/ChangeLog index a72b7b01a89c..5f3df9718975 100644 --- a/dev-java/java-dep-check/ChangeLog +++ b/dev-java/java-dep-check/ChangeLog @@ -1,6 +1,12 @@ # ChangeLog for dev-java/java-dep-check -# Copyright 1999-2014 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/dev-java/java-dep-check/ChangeLog,v 1.8 2014/06/17 11:09:55 mrueg Exp $ +# Copyright 1999-2015 Gentoo Foundation; Distributed under the GPL v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/java-dep-check/ChangeLog,v 1.9 2015/06/25 22:30:37 chewi Exp $ + +*java-dep-check-0.3-r1 (25 Jun 2015) + + 25 Jun 2015; James Le Cuirot <chewi@gentoo.org> +java-dep-check-0.3-r1.ebuild, + -files/Main-0.2.java, -files/Main.java: + EAPI bump and rewrite using java-pkg-simple. 17 Jun 2014; Manuel Rüger <mrueg@gentoo.org> -java-dep-check-0.1.ebuild, -java-dep-check-0.2.ebuild: diff --git a/dev-java/java-dep-check/Manifest b/dev-java/java-dep-check/Manifest index 4250d4e2f67b..3aa04276098a 100644 --- a/dev-java/java-dep-check/Manifest +++ b/dev-java/java-dep-check/Manifest @@ -1,6 +1,27 @@ -AUX Main-0.2.java 9650 SHA256 22d6cb62f53d0e009dbc1ae941994ffcd205c630ee26f5b8400619340f850d20 SHA512 888478205ded8715e3539604c8e689626e853c533c97bea380b56af7d17d978b86aa38ce4a4042c2f1f5214b6e37b32af3547194032b3e6335b130afb67b95dd WHIRLPOOL f64b9b799b4fadbff1e12a4447f07f81d57fe08dee963da2dc3c1b41bbd93ea0ddc201f8cd0ed517dcc2a168ef8889bb49958d86e2367815f83a258cb36a5750 +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + AUX Main-0.3.java 11702 SHA256 c74c45307ef58b3575cdb58de83dd488d98b9229d03ff8276775d1e6e967072f SHA512 a70c0161fe72e8f4b4476cbdad5ae3074fbb7321214723a7b1b7778fd06de4eb616479de2b5d6ce9a6dab2e919d721ce2b177a515039a0b9592aa2b5e1017e88 WHIRLPOOL 523eed4b9409e96b7413abe5290278f7be22efc57cd8d432c022e0e57543fae645df5154baec734cb0383962b0a56bb2b12c6ff033e7fc1ed212f124176a8760 -AUX Main.java 8393 SHA256 18da5060b23e74cb0abfa2561902b2c2c303150bcc28fda792dbcce3ec6ba043 SHA512 6d29747cc760dd525c946d3b651c5e8cf79cf9599634e60bccbce1ac6fe18b35926fbe90243c5f3b139bacbfbf9786746f89b351ece5bea7d28e1a2e47ba00e5 WHIRLPOOL 0cbbf07f1bd8a51969f82f7b4bc7b9dde1157c9650e39e75efcb3f84233ff0b54d183e73d15ceabf601a90fd4b1b9761981f3e77e2448b131b29590b9d419b9d +EBUILD java-dep-check-0.3-r1.ebuild 773 SHA256 2867ea2ea156e821a146480b5b173694364199f93e196437ec2dae762e2a7575 SHA512 04084c538eb036f186d2234e931498e22d4bbebbb455d1aeafc18a6b5a1ad69031cd88d186adecfee309819de5ae43a6a8f2f201883a10c583bd62caac417422 WHIRLPOOL cb46a59835a875cde7e03c05efcb4e2b5620c62114675b1b07c0ac174d77732b8bd1aed346e9d0adb635f9deedf0ea556a972abc73324df467611f91f535b222 EBUILD java-dep-check-0.3.ebuild 897 SHA256 9691c4ca88baf1191b217da9fcc43b07f21f84dd2292f0bc4f922b36acef2ec9 SHA512 970af05c64c89cd189e84be67dda0e4dbe4782898e57720819734e069bac657fb57d135f18a8eb659ff6ddf2ba44508816b478b6feec4ff4c7629bc2b013dca3 WHIRLPOOL 06b5e0330b39b94afa7c4bf9ea95f72e768c549e291d71422eec9a1423c7b65b4d3eacaaf99b0c8698b2546e8a58d10c492d36f55c51557d1a72d6ade8b77d84 -MISC ChangeLog 1416 SHA256 2dc04d79e982cf56aa5eced6955118c55f7fb617e42273b8d6f7c0ff961bedfd SHA512 02e6e11273b920629d9ce939a2849f91f4104dc03e6b1777c32e624ebb4aa039246365901790f9275ec230dccdd47698c014af102d5fab8704519d4caf76b888 WHIRLPOOL cdd2f8ce31adfd0fd333d67b4ce86a74cfc4661e0429243fd9ec998d356ba69a8a77a879e254746df5c18794ff1a96765eddf6f8b15243596728567e2a2538a9 +MISC ChangeLog 1625 SHA256 2272c7ec29fec10ed8e7925bb133621b01bc75b21a4a27403316a8b862da4392 SHA512 1d06c346e8b41c17e44b5d3313b3d5953aac7fcebd1468fccf3095e2b9a5c1359b9c09f6648e3c72f945e24019a43121025039bc7451a65094d9d8f9fb0e374f WHIRLPOOL e3cd234f153ad929948cc2d1dd6f1f3f102d0a247fad1535db0cde92bbd4bfe6c8f74f823442d5a5346751567100693f2aa06e89f6789abbee25c97f657a0289 MISC metadata.xml 158 SHA256 ea882ceccfd160b16cf7e79de423bdcc12b3fa000f124491a6df36f5783894fb SHA512 54f88fc3270968439ba87295b04365a89101c55d33a8c209a56036dc60244e5c73f78ec09484b3e5af28de9dee2159b1dab670cbd5d80a9e0c4543145c0390a3 WHIRLPOOL fcffc4fb6751b5a6eec33aa833f9d7dea0168d3ab67f7e34565370f92fd917ed882bcc57585481bf4d31e601f83a592d99d1c3f50fc793f1c38cd174cc8b2f26 +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2.1 + +iQJ8BAEBCABmBQJVjIEOXxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w +ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ1MjhERTZCRDg2OTFBNDM5MUZEQTJFRDQy +MUM2MzIxMjlDNkQ3REU0AAoJECHGMhKcbX3kMNwQAJoDAXl1X7w2asgNY3i01Vox +hqi0zQNtSK41my2LMtB9FUurG6soUE4JRQv3+aKqiOrxaF220bZio+hVJ6XzcKeU +ialWDfM09T/wcXpll7dbQl/wPEyQGRZPeoZQm4vkDSaES2PpACKKm4qO2usqWgNm +Ubx7rVaAJNCdzWvTD0Ax8euE0AFn2GfxNMHPx4UdF1hUVuKGPMHrZ0jKPQnbTPld +KQC2m8lqkfCbcmSpvSXV0XU3mNVaiaRxZRqPiAzZvMw94M/YkRDLTHMqSOTe/vf6 +TP3W/8r4l7jjKYx3+S4BUmyBxBRRKUeypCMsBsXHsjcEQGbOGOddAOVG4LanD7WS +E01T9ScmE0+kywJbOPjrmg1CBzv00Q+CjJ0DW+NgC6abW57O3Ap0R/M4MpFugAqh +b2cJaxaFQnFaVuZG0sijdvnvjFqcqnSQTVA2j+2dxDZBJBV89d41816OxXFdO6C3 +/aEIe501vCyU9Iuw8UC/vXs33mFOhxwTB0XZUZQiTD3UssMwVN5PcYJrg0B88Ijk +Qz9PeTfdfV9SOwAcc3waSB2XjKngLuk4fV+HpGefVst+dNf3K8qisUL6JLG52hW0 +8WNTMYnGHgfx8mI06/nhBkCd9tfOeExnAvhY0B95JDQpjo8subJb0CfaLldWImD/ +xm80/p/H50thaBhm+fx2 +=eiEa +-----END PGP SIGNATURE----- diff --git a/dev-java/java-dep-check/files/Main-0.2.java b/dev-java/java-dep-check/files/Main-0.2.java deleted file mode 100644 index daaa3ea1112b..000000000000 --- a/dev-java/java-dep-check/files/Main-0.2.java +++ /dev/null @@ -1,276 +0,0 @@ -/* - * Main.java The main application class. - * - * Created on May 1, 2007, 6:32 PM - * - * Copyright (C) 2007,2008 Petteri Räty <betelgeuse@gentoo.org> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program 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 General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -package javadepchecker; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.util.HashSet; -import java.util.logging.Level; -import java.util.logging.Logger; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Enumeration; -import java.util.Set; -import java.util.jar.JarEntry; -import java.util.jar.JarFile; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import org.apache.commons.cli.CommandLine; -import org.apache.commons.cli.CommandLineParser; -import org.apache.commons.cli.HelpFormatter; -import org.apache.commons.cli.Options; -import org.apache.commons.cli.ParseException; -import org.apache.commons.cli.PosixParser; -import org.objectweb.asm.AnnotationVisitor; -import org.objectweb.asm.ClassReader; -import org.objectweb.asm.FieldVisitor; -import org.objectweb.asm.Label; -import org.objectweb.asm.MethodVisitor; -import org.objectweb.asm.Type; -import org.objectweb.asm.commons.EmptyVisitor; - -/** - * - * @author betelgeuse - */ -public final class Main extends EmptyVisitor { - - static private String image = ""; - private Set<String> deps = new HashSet<String>(); - private Set<String> current = new HashSet<String>(); - - /** Creates a new instance of Main */ - public Main() { - } - - private static Collection<String> getPackageJars(String pkg) { - ArrayList<String> jars = new ArrayList<String>(); - try { - Process p = Runtime.getRuntime().exec("java-config -p " + pkg); - p.waitFor(); - BufferedReader in; - in = new BufferedReader(new InputStreamReader(p.getInputStream())); - String output = in.readLine(); - if (!output.trim().equals("")) { - for (String jar : output.split(":")) { - jars.add(jar); - } - } - } catch (InterruptedException ex) { - Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); - } catch (IOException ex) { - Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); - } - return jars; - } - - public void processJar(JarFile jar) throws IOException { - for (Enumeration<JarEntry> e = jar.entries(); e.hasMoreElements();) { - JarEntry entry = e.nextElement(); - String name = entry.getName(); - if (!entry.isDirectory() && name.endsWith(".class")) { - this.current.add(name); - InputStream stream = jar.getInputStream(entry); - new ClassReader(stream).accept(this, 0); - } - } - } - - private static boolean depNeeded(String pkg, Collection<String> deps) throws IOException { - Collection<String> jars = getPackageJars(pkg); - // We have a virtual with VM provider here - if(jars.size() == 0) - return true; - for (String jarName : jars) { - JarFile jar = new JarFile(jarName); - for (Enumeration<JarEntry> e = jar.entries(); e.hasMoreElements();) { - String name = e.nextElement().getName(); - if (deps.contains(name)) { - return true; - } - } - } - return false; - } - - private static boolean checkPkg(File env) { - boolean needed = true; - HashSet<String> pkgs = new HashSet<String>(); - Collection<String> deps = null; - - BufferedReader in = null; - try { - Pattern dep_re = Pattern.compile("^DEPEND=\"([^\"]*)\"$"); - Pattern cp_re = Pattern.compile("^CLASSPATH=\"([^\"]*)\"$"); - - String line; - in = new BufferedReader(new FileReader(env)); - while ((line = in.readLine()) != null) { - Matcher m = dep_re.matcher(line); - if (m.matches()) { - String atoms = m.group(1); - for (String atom : atoms.split(":")) { - String pkg = atom; - if (atom.contains("@")) { - pkg = atom.split("@")[1]; - } - pkgs.add(pkg); - } - continue; - } - m = cp_re.matcher(line); - if (m.matches()) { - Main classParser = new Main(); - for (String jar : m.group(1).split(":")) { - if(jar.endsWith(".jar")) { - classParser.processJar(new JarFile(image + jar)); - } - } - deps = classParser.getDeps(); - } - } - - for (String pkg : pkgs) { - if (!depNeeded(pkg, deps)) { - System.out.println(pkg); - needed = false; - } - } - } catch (IOException ex) { - Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); - } finally { - try { - in.close(); - } catch (IOException ex) { - Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); - } - } - return needed; - } - - /** - * @param args the command line arguments - */ - public static void main(String[] args) throws IOException { - int exit = 0; - try { - CommandLineParser parser = new PosixParser(); - Options options = new Options(); - options.addOption("h", "help", false, "print help"); - options.addOption("i", "image", true, "image directory"); - options.addOption("v", "verbose", false, "print verbose output"); - CommandLine line = parser.parse(options, args); - String[] files = line.getArgs(); - if (line.hasOption("h") || files.length == 0) { - HelpFormatter h = new HelpFormatter(); - h.printHelp("java-dep-check [-i <image] <package.env>+", options); - } else { - image = line.getOptionValue("i", ""); - - for (String arg : files) { - if (line.hasOption('v')) { - System.out.println("Checking " + arg); - } - if (!checkPkg(new File(arg))) { - exit = 1; - } - } - } - } catch (ParseException ex) { - Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); - } - System.exit(exit); - } - - private void addDep(String dep) { - deps.add(dep + ".class"); - } - - private void addDep(Type dep) { - if (dep.getSort() == Type.OBJECT) { - addDep(dep.getInternalName()); - } - } - - private Collection<String> getDeps() { - ArrayList<String> result = new ArrayList<String>(); - for (String s : deps) { - if (!current.contains(s)) { - result.add(s); - } - } - return result; - } - - @Override - public void visit(int version, int access, String name, String signature, - String superName, String[] interfaces) { - addDep(superName); - for(String iface : interfaces) { - addDep(iface); - } - } - - @Override - public FieldVisitor visitField(int access, String name, String desc, String signature, Object value) { - addDep(Type.getType(desc)); - return null; - } - - @Override - public MethodVisitor visitMethod(int access, String name, String desc, String signature, String[] exceptions) { - for (Type param : Type.getArgumentTypes(desc)) { - addDep(param); - } - addDep(Type.getReturnType(desc)); - return new EmptyVisitor() { - @Override - public void visitLocalVariable(String name, String desc, String signature, Label start, Label end, int index) { - addDep(Type.getType(desc)); - } - @Override - public void visitFieldInsn(int opcode, String owner, String name, String desc) { - addDep(owner); - } - @Override - public void visitMethodInsn(int opcode, String owner, String name, String desc) { - addDep(owner); - } - @Override - public AnnotationVisitor visitParameterAnnotation(int parameter, String desc, boolean visible) { - return Main.this.visitAnnotation(desc, visible); - } - - - }; - } - - @Override - public AnnotationVisitor visitAnnotation(String desc, boolean visible) { - addDep(Type.getType(desc)); - return null; - } -} diff --git a/dev-java/java-dep-check/files/Main.java b/dev-java/java-dep-check/files/Main.java deleted file mode 100644 index a057b3577ae5..000000000000 --- a/dev-java/java-dep-check/files/Main.java +++ /dev/null @@ -1,233 +0,0 @@ -/* - * Main.java The main application class. - * - * Created on May 1, 2007, 6:32 PM - * - * Copyright (C) 2007,2008 Petteri Räty <betelgeuse@gentoo.org> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version 2 - * of the License, or (at your option) any later version. - - * This program 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 General Public License for more details. - - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software - * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ -package javadepchecker; - -import java.io.BufferedReader; -import java.io.File; -import java.io.FileReader; -import java.util.HashSet; -import java.util.logging.Level; -import java.util.logging.Logger; -import org.apache.bcel.classfile.ClassParser; -import java.io.IOException; -import java.io.InputStream; -import java.io.InputStreamReader; -import java.util.ArrayList; -import java.util.Collection; -import java.util.Enumeration; -import java.util.TreeSet; -import java.util.jar.JarEntry; -import java.util.jar.JarFile; -import java.util.regex.Matcher; -import java.util.regex.Pattern; -import org.apache.bcel.classfile.ConstantClass; -import org.apache.bcel.classfile.ConstantPool; -import org.apache.bcel.classfile.DescendingVisitor; -import org.apache.bcel.classfile.EmptyVisitor; -import org.apache.bcel.classfile.JavaClass; -import org.apache.commons.cli.CommandLine; -import org.apache.commons.cli.CommandLineParser; -import org.apache.commons.cli.HelpFormatter; -import org.apache.commons.cli.Options; -import org.apache.commons.cli.ParseException; -import org.apache.commons.cli.PosixParser; - -/** - * - * @author betelgeuse - */ -public final class Main extends EmptyVisitor { - - static private String image = ""; - private ConstantPool pool; - private TreeSet<String> deps = new TreeSet<String>(); - private HashSet<String> current = new HashSet<String>(); - - /** Creates a new instance of Main */ - public Main() { - } - - private static Collection<String> getPackageJars(String pkg) { - ArrayList<String> jars = new ArrayList<String>(); - try { - Process p = Runtime.getRuntime().exec("java-config -p " + pkg); - p.waitFor(); - BufferedReader in; - in = new BufferedReader(new InputStreamReader(p.getInputStream())); - String output = in.readLine(); - if (!output.trim().equals("")) { - for (String jar : output.split(":")) { - jars.add(jar); - } - } - } catch (InterruptedException ex) { - Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); - } catch (IOException ex) { - Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); - } - return jars; - } - - public void processJar(JarFile jar) throws IOException { - for (Enumeration<JarEntry> e = jar.entries(); e.hasMoreElements();) { - JarEntry entry = e.nextElement(); - String name = entry.getName(); - if (!entry.isDirectory() && name.endsWith(".class")) { - this.current.add(name); - InputStream stream = jar.getInputStream(entry); - ClassParser parser = new ClassParser(stream, name); - JavaClass jclass = parser.parse(); - this.pool = jclass.getConstantPool(); - new DescendingVisitor(jclass, this).visitConstantPool(this.pool); - } - } - } - - private static boolean depNeeded(String pkg, Collection<String> deps) throws IOException { - for (String jarName : getPackageJars(pkg)) { - JarFile jar = new JarFile(jarName); - for (Enumeration<JarEntry> e = jar.entries(); e.hasMoreElements();) { - String name = e.nextElement().getName(); - if (deps.contains(name)) { - return true; - } - } - } - return false; - } - - private static boolean checkPkg(File env) { - boolean needed = true; - HashSet<String> pkgs = new HashSet<String>(); - Collection<String> deps = null; - - BufferedReader in = null; - try { - Pattern dep_re = Pattern.compile("^DEPEND=\"([^\"]*)\"$"); - Pattern cp_re = Pattern.compile("^CLASSPATH=\"([^\"]*)\"$"); - - String line; - in = new BufferedReader(new FileReader(env)); - while ((line = in.readLine()) != null) { - Matcher m = dep_re.matcher(line); - if (m.matches()) { - String atoms = m.group(1); - for (String atom : atoms.split(":")) { - String pkg = atom; - if (atom.contains("@")) { - pkg = atom.split("@")[1]; - } - pkgs.add(pkg); - } - continue; - } - m = cp_re.matcher(line); - if (m.matches()) { - Main classParser = new Main(); - for (String jar : m.group(1).split(":")) { - classParser.processJar(new JarFile(image + jar)); - } - deps = classParser.getDeps(); - } - } - - for (String pkg : pkgs) { - if (!depNeeded(pkg, deps)) { - System.out.println(pkg); - needed = false; - } - } - } catch (IOException ex) { - Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); - } finally { - try { - in.close(); - } catch (IOException ex) { - Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); - } - } - return needed; - } - - /** - * @param args the command line arguments - */ - public static void main(String[] args) throws IOException { - int exit = 0; - try { - CommandLineParser parser = new PosixParser(); - Options options = new Options(); - options.addOption("h", "help", false, "print help"); - options.addOption("i", "image", true, "image directory"); - options.addOption("v","verbose", false, "print verbose output"); - CommandLine line = parser.parse(options, args); - String[] files = line.getArgs(); - if (line.hasOption("h") || files.length == 0) { - HelpFormatter h = new HelpFormatter(); - h.printHelp("java-dep-check [-i <image] <package.env>+", options); - } else { - image = line.getOptionValue("i", ""); - - for (String arg : files) { - if(line.hasOption('v')) - System.out.println("Checking " + arg); - if (!checkPkg(new File(arg))) { - exit = 1; - } - } - } - } catch (ParseException ex) { - Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex); - } - System.exit(exit); - } - - /** - * Find referenced class from signature if the signature is for a array - * type. - * @see http://java.sun.com/docs/books/jvms/second_edition/html/ClassFile.doc.html - */ - private String stripArray(String signature) { - String[] result = signature.split("^\\[+L"); - if (result.length == 2) { - return result[1].substring(0, result[1].length() - 1); - } else { - return signature; - } - } - - @Override - public void visitConstantClass(ConstantClass obj) { - String className = obj.getBytes(pool); - deps.add(stripArray(className) + ".class"); - } - - private Collection<String> getDeps() { - ArrayList<String> result = new ArrayList<String>(); - for (String s : deps) { - if (!current.contains(s)) { - result.add(s); - } - } - return result; - } -} diff --git a/dev-java/java-dep-check/java-dep-check-0.3-r1.ebuild b/dev-java/java-dep-check/java-dep-check-0.3-r1.ebuild new file mode 100644 index 000000000000..11324ca3c2e0 --- /dev/null +++ b/dev-java/java-dep-check/java-dep-check-0.3-r1.ebuild @@ -0,0 +1,32 @@ +# Copyright 1999-2015 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/dev-java/java-dep-check/java-dep-check-0.3-r1.ebuild,v 1.1 2015/06/25 22:30:37 chewi Exp $ + +EAPI=5 + +inherit java-pkg-2 java-pkg-simple + +DESCRIPTION="Java Dependency checker" +HOMEPAGE="https://wiki.gentoo.org/wiki/Project:Java" +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +COMMON_DEP=" + dev-java/commons-cli:1 + dev-java/asm:3" +RDEPEND=">=virtual/jre-1.5 + ${COMMON_DEP}" +DEPEND=">=virtual/jdk-1.5 + ${COMMON_DEP}" + +JAVA_GENTOO_CLASSPATH="asm-3,commons-cli-1" + +src_unpack() { + cp "${FILESDIR}/Main-${PV}.java" Main.java || die +} + +src_install() { + java-pkg-simple_src_install + java-pkg_dolauncher ${PN} --main javadepchecker.Main +} |