[procyon] 01/02: Initial packaging

Emmanuel Bourg ebourg-guest at moszumanska.debian.org
Fri Oct 14 22:37:44 UTC 2016


This is an automated email from the git hooks/post-receive script.

ebourg-guest pushed a commit to branch master
in repository procyon.

commit e8252b1a9480ead65a2e6fa539a791f7d9534f6e
Author: Emmanuel Bourg <ebourg at apache.org>
Date:   Sat Oct 15 00:35:14 2016 +0200

    Initial packaging
---
 debian/changelog                              |   5 +
 debian/clean                                  |   1 +
 debian/compat                                 |   1 +
 debian/completion/procyon                     |  33 ++++
 debian/control                                |  45 ++++++
 debian/copyright                              | 109 +++++++++++++
 debian/libprocyon-java.poms                   |  33 ++++
 debian/maven.ignoreRules                      |   2 +
 debian/maven.rules                            |   2 +
 debian/patches/01-disable-fatjar-plugin.patch |  30 ++++
 debian/patches/02-cli-program-name.patch      |  13 ++
 debian/patches/series                         |   2 +
 debian/poms/procyon-compilertools.pom.xml     |  64 ++++++++
 debian/poms/procyon-core.pom.xml              |  52 ++++++
 debian/poms/procyon-expressions.pom.xml       |  58 +++++++
 debian/poms/procyon-reflection.pom.xml        |  58 +++++++
 debian/procyon-decompiler.classpath           |   1 +
 debian/procyon-decompiler.install             |   2 +
 debian/procyon-decompiler.jlibs               |   1 +
 debian/procyon-decompiler.manifest            |   2 +
 debian/procyon-decompiler.manpages            |   1 +
 debian/procyon.1                              | 221 ++++++++++++++++++++++++++
 debian/rules                                  |  14 ++
 debian/scripts/procyon                        |   9 ++
 debian/source/format                          |   1 +
 debian/watch                                  |   2 +
 26 files changed, 762 insertions(+)

diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..02954c2
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,5 @@
+procyon (0.5.32-1) unstable; urgency=medium
+
+  * Initial release (Closes: #771861)
+
+ -- Emmanuel Bourg <ebourg at apache.org>  Fri, 14 Oct 2016 23:58:28 +0200
diff --git a/debian/clean b/debian/clean
new file mode 100644
index 0000000..567609b
--- /dev/null
+++ b/debian/clean
@@ -0,0 +1 @@
+build/
diff --git a/debian/compat b/debian/compat
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/debian/compat
@@ -0,0 +1 @@
+9
diff --git a/debian/completion/procyon b/debian/completion/procyon
new file mode 100644
index 0000000..cd826c1
--- /dev/null
+++ b/debian/completion/procyon
@@ -0,0 +1,33 @@
+#
+# procyon(1) completion
+#
+
+_procyon()
+{
+    local cur prev options
+
+    cur=`_get_cword`
+    prev=${COMP_WORDS[COMP_CWORD-1]}
+
+    options=(-b --bytecode-ast -ci --collapse-imports -cp --constant-pool -dl --debug-line-numbers --disable-foreach -eml --eager-method-loading -ent --exclude-nested -eta --explicit-type-arguments -fsb --flatten-switch-blocks -? --help -lc --light -lv --local-variables -ll --log-level -mv --merge-variables -o --output-directory -r --raw-bytecode -ec --retain-explicit-casts -ps --retain-pointless-switches -ss --show-synthetic -sm --simplify-member-references -sl --stretch-lines -ta --typ [...]
+
+    if [[ "$cur" == -* ]]; then
+        COMPREPLY=( $( compgen -W '${options[@]}' -- $cur ) )
+        return 0
+    fi
+
+    case "$prev" in
+        -ll|--log-level)
+            COMPREPLY=( $( compgen -W '0 1 2 3' -- $cur ) )
+            ;;
+        -?|--help)
+            COMPREPLY=( )
+            ;;
+        *)
+            COMPREPLY=( $( compgen -f -X "!*.jar" -- "$cur" ) $( compgen -d -- "$cur" ) )
+            ;;
+    esac
+
+    return 0
+} &&
+complete -F _procyon -o filenames procyon
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..b0421cc
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,45 @@
+Source: procyon
+Section: java
+Priority: optional
+Maintainer: Debian Java Maintainers <pkg-java-maintainers at lists.alioth.debian.org>
+Uploaders: Emmanuel Bourg <ebourg at apache.org>
+Build-Depends:
+ debhelper (>= 9),
+ default-jdk,
+ gradle-debian-helper,
+ javahelper,
+ libjcommander-java,
+ maven-repo-helper
+Standards-Version: 3.9.8
+Vcs-Git: https://anonscm.debian.org/git/pkg-java/procyon.git
+Vcs-Browser: https://anonscm.debian.org/cgit/pkg-java/procyon.git
+Homepage: https://bitbucket.org/mstrobel/procyon
+
+Package: libprocyon-java
+Architecture: all
+Depends: ${misc:Depends}
+Description: Procyon Framework
+ Procyon is a suite of Java metaprogramming tools focused on code
+ generation and analysis. It includes the following libraries:
+  * Core Framework
+  * Reflection Framework
+  * Expressions Framework
+  * Compiler Toolset
+  * Java Decompiler
+
+Package: procyon-decompiler
+Architecture: all
+Depends:
+ ${misc:Depends},
+ default-jre-headless (>= 2:1.7),
+ libjcommander-java,
+ libprocyon-java
+Description: Procyon Java Decompiler
+ Procyon is a Java decompiler handling language enhancements from Java 5
+ and beyond that most other decompilers don't. It also excels in areas
+ where others fall short. Procyon in particular does well with:
+  * Enum declarations
+  * Enum and String switch statements
+  * Local classes (both anonymous and named)
+  * Annotations
+  * Java 8 Lambdas and method references
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..3880e5c
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,109 @@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: Procyon
+Source: https://bitbucket.org/mstrobel/procyon
+Files-Excluded: .hg*
+                .flow
+                .idea
+
+Files: *
+Copyright: 2012-2015, Mike Strobel
+License: Apache-2.0
+
+Files: Procyon.CompilerTools/src/main/java/com/strobel/*
+Copyright: 2012-2015, Mike Strobel
+           2004-2016, Jean-Baptiste Evain
+           2011, AlphaSierraPapa
+License: Apache-2.0 and MIT
+Comment:
+ This source code is based on Mono.Cecil from Jean-Baptiste Evain and ILSpy/ICSharpCode from SharpDevelop.
+
+License: MIT
+ Permission is hereby granted, free of charge, to any person obtaining a copy of this
+ software and associated documentation files (the "Software"), to deal in the Software
+ without restriction, including without limitation the rights to use, copy, modify, merge,
+ publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons
+ to whom the Software is furnished to do so, subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall be included in all copies or
+ substantial portions of the Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED,
+ INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE
+ FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ DEALINGS IN THE SOFTWARE.
+
+Files: Procyon.Core/src/main/java/com/strobel/core/OS.java
+       Procyon.Core/src/main/java/com/strobel/io/Ansi.java
+Copyright: 2009, Santhosh Kumar Tekuri
+Comment: Copied from JLibs (https://github.com/santhosh-tekuri/jlibs)
+License: LGPL-2.1+
+ 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.
+ .
+ On Debian systems, the full text of the LGPL-2.1 license
+ can be found in the file '/usr/share/common-licenses/LGPL-2.1'
+
+Files: Procyon.CompilerTools/src/main/java/com/strobel/assembler/metadata/signatures/*
+Copyright: 2003-2006, Oracle and/or its affiliates
+License: GPL-2 with Classpath exception
+ This code is free software; you can redistribute it and/or modify it
+ under the terms of the GNU General Public License version 2 only, as
+ published by the Free Software Foundation.  Oracle designates this
+ particular file as subject to the "Classpath" exception as provided
+ by Oracle in the LICENSE file that accompanied this code.
+ .
+ This code 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
+ version 2 for more details (a copy is included in the LICENSE file that
+ accompanied this code).
+ .
+ On Debian systems, the full text of the GPL-2 license
+ can be found in the file '/usr/share/common-licenses/GPL-2'
+ .
+ "CLASSPATH" EXCEPTION TO THE GPL
+ .
+ Certain source files distributed by Oracle America and/or its affiliates are
+ subject to the following clarification and special exception to the GPL, but
+ only where Oracle has expressly included in the particular source file's header
+ the words "Oracle designates this particular file as subject to the "Classpath"
+ exception as provided by Oracle in the LICENSE file that accompanied this code."
+ .
+    Linking this library statically or dynamically with other modules is making
+    a combined work based on this library.  Thus, the terms and conditions of
+    the GNU General Public License cover the whole combination.
+ .
+    As a special exception, the copyright holders of this library give you
+    permission to link this library with independent modules to produce an
+    executable, regardless of the license terms of these independent modules,
+    and to copy and distribute the resulting executable under terms of your
+    choice, provided that you also meet, for each linked independent module,
+    the terms and conditions of the license of that module.  An independent
+    module is a module which is not derived from or based on this library.  If
+    you modify this library, you may extend this exception to your version of
+    the library, but you are not obligated to do so.  If you do not wish to do
+    so, delete this exception statement from your version.
+
+Files: Procyon.Expressions/src/main/java/com/strobel/expressions/*
+       Procyon.Reflection/src/main/java/com/strobel/reflection/emit/SwitchOptions.java
+Copyright: Microsoft Corporation
+License: Apache-2.0
+Comment:
+ This source code is based on the Dynamic Language Runtime from Microsoft,
+
+Files: debian/*
+Copyright: 2016, Emmanuel Bourg <ebourg at apache.org>
+License: Apache-2.0
+
+License: Apache-2.0
+ On Debian systems, the full text of the Apache-2.0 license
+ can be found in the file '/usr/share/common-licenses/Apache-2.0'
diff --git a/debian/libprocyon-java.poms b/debian/libprocyon-java.poms
new file mode 100644
index 0000000..19d44f7
--- /dev/null
+++ b/debian/libprocyon-java.poms
@@ -0,0 +1,33 @@
+# List of POM files for the package
+# Format of this file is:
+# <path to pom file> [option]*
+# where option can be:
+#   --ignore: ignore this POM and its artifact if any
+#   --ignore-pom: don't install the POM. To use on POM files that are created
+#     temporarily for certain artifacts such as Javadoc jars. [mh_install, mh_installpoms]
+#   --no-parent: remove the <parent> tag from the POM
+#   --package=<package>: an alternative package to use when installing this POM
+#      and its artifact
+#   --has-package-version: to indicate that the original version of the POM is the same as the upstream part
+#      of the version for the package.
+#   --keep-elements=<elem1,elem2>: a list of XML elements to keep in the POM
+#      during a clean operation with mh_cleanpom or mh_installpom
+#   --artifact=<path>: path to the build artifact associated with this POM,
+#      it will be installed when using the command mh_install. [mh_install]
+#   --java-lib: install the jar into /usr/share/java to comply with Debian
+#      packaging guidelines
+#   --usj-name=<name>: name to use when installing the library in /usr/share/java
+#   --usj-version=<version>: version to use when installing the library in /usr/share/java
+#   --no-usj-versionless: don't install the versionless link in /usr/share/java
+#   --dest-jar=<path>: the destination for the real jar.
+#     It will be installed with mh_install. [mh_install]
+#   --classifier=<classifier>: Optional, the classifier for the jar. Empty by default.
+#   --site-xml=<location>: Optional, the location for site.xml if it needs to be installed.
+#     Empty by default. [mh_install]
+#
+debian/poms/procyon-core.pom.xml          --has-package-version --java-lib --artifact=build/Procyon.Core/libs/procyon-core-*.jar
+debian/poms/procyon-expressions.pom.xml   --has-package-version --java-lib --artifact=build/Procyon.Expressions/libs/procyon-expressions-*.jar
+debian/poms/procyon-reflection.pom.xml    --has-package-version --java-lib --artifact=build/Procyon.Reflection/libs/procyon-reflection-*.jar
+debian/poms/procyon-compilertools.pom.xml --has-package-version --java-lib --artifact=build/Procyon.CompilerTools/libs/procyon-compilertools-*.jar
+
+#./build/Procyon.Decompiler/libs/procyon-decompiler-0.5.32.jar
diff --git a/debian/maven.ignoreRules b/debian/maven.ignoreRules
new file mode 100644
index 0000000..d693936
--- /dev/null
+++ b/debian/maven.ignoreRules
@@ -0,0 +1,2 @@
+
+eu.appsatori gradle-fatjar-plugin * * * *
diff --git a/debian/maven.rules b/debian/maven.rules
new file mode 100644
index 0000000..7a4df1a
--- /dev/null
+++ b/debian/maven.rules
@@ -0,0 +1,2 @@
+
+com.beust jcommander * s/.*/1.x/ * *
diff --git a/debian/patches/01-disable-fatjar-plugin.patch b/debian/patches/01-disable-fatjar-plugin.patch
new file mode 100644
index 0000000..14061fd
--- /dev/null
+++ b/debian/patches/01-disable-fatjar-plugin.patch
@@ -0,0 +1,30 @@
+Description: Disables the fatjar plugin (not in Debian)
+Author: Emmanuel Bourg <ebourg at apache.org>
+Forwarded: not-needed
+--- a/Procyon.Decompiler/build.gradle
++++ b/Procyon.Decompiler/build.gradle
+@@ -8,21 +8,11 @@
+     }
+ }
+ 
+-jar.enabled = false
++jar.enabled = true
+ uploadArchives.enabled = false
+ 
+-apply plugin: 'eu.appsatori.fatjar'
+-
+-fatJar {
+-//    from rootProject.allprojects.collect({ it.sourceSets.main.allSource })
+-
+-    manifest {
+-        attributes 'Title': archivesBaseName, 'Manifest-Version': '1.0', 'Version': version, 'Main-Class' : 'com.strobel.decompiler.DecompilerDriver'
+-    }
+-}
+-
+ dependencies {
+     compile 'com.beust:jcommander:1.30'
+     compile project(':Procyon.Core')
+     compile project(':Procyon.CompilerTools')
+-}
+\ No newline at end of file
++}
diff --git a/debian/patches/02-cli-program-name.patch b/debian/patches/02-cli-program-name.patch
new file mode 100644
index 0000000..8ca6a1c
--- /dev/null
+++ b/debian/patches/02-cli-program-name.patch
@@ -0,0 +1,13 @@
+Description: Set the name of the program for the help page
+Author: Emmanuel Bourg <ebourg at apache.org>
+Forwarded: not-needed
+--- a/Procyon.Decompiler/src/main/java/com/strobel/decompiler/DecompilerDriver.java
++++ b/Procyon.Decompiler/src/main/java/com/strobel/decompiler/DecompilerDriver.java
+@@ -49,6 +49,7 @@
+         try {
+             jCommander = new JCommander(options);
+             jCommander.setAllowAbbreviatedOptions(false);
++            jCommander.setProgramName("procyon");
+             jCommander.parse(args);
+             typeNames = options.getInputs();
+         }
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..5acf0d1
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,2 @@
+01-disable-fatjar-plugin.patch
+02-cli-program-name.patch
diff --git a/debian/poms/procyon-compilertools.pom.xml b/debian/poms/procyon-compilertools.pom.xml
new file mode 100644
index 0000000..dbf2d60
--- /dev/null
+++ b/debian/poms/procyon-compilertools.pom.xml
@@ -0,0 +1,64 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.bitbucket.mstrobel</groupId>
+  <artifactId>procyon-compilertools</artifactId>
+  <version>0.5.32</version>
+  <name>procyon-compilertools</name>
+  <description>Procyon</description>
+  <url>https://bitbucket.org/mstrobel/procyon</url>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <developers>
+    <developer>
+      <id>mstrobel</id>
+      <name>Mike Strobel</name>
+      <roles>
+        <role>owner</role>
+        <role>packager</role>
+        <role>developer</role>
+      </roles>
+    </developer>
+  </developers>
+  <issueManagement>
+    <system>jira</system>
+    <url>https://bitbucket.org/mstrobel/procyon/issues</url>
+  </issueManagement>
+  <scm>
+    <connection>scm:hg:https://hg@bitbucket.org/mstrobel/procyon</connection>
+    <developerConnection>scm:hg:https://mstrobel@bitbucket.org/mstrobel/procyon</developerConnection>
+    <url>https://bitbucket.org/mstrobel/procyon</url>
+  </scm>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.11</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.bitbucket.mstrobel</groupId>
+      <artifactId>procyon-core</artifactId>
+      <version>0.5.32</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.bitbucket.mstrobel</groupId>
+      <artifactId>procyon-reflection</artifactId>
+      <version>0.5.32</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.11</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/debian/poms/procyon-core.pom.xml b/debian/poms/procyon-core.pom.xml
new file mode 100644
index 0000000..b3ad4a7
--- /dev/null
+++ b/debian/poms/procyon-core.pom.xml
@@ -0,0 +1,52 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.bitbucket.mstrobel</groupId>
+  <artifactId>procyon-core</artifactId>
+  <version>0.5.32</version>
+  <name>procyon-core</name>
+  <description>Procyon</description>
+  <url>https://bitbucket.org/mstrobel/procyon</url>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <developers>
+    <developer>
+      <id>mstrobel</id>
+      <name>Mike Strobel</name>
+      <roles>
+        <role>owner</role>
+        <role>packager</role>
+        <role>developer</role>
+      </roles>
+    </developer>
+  </developers>
+  <issueManagement>
+    <system>jira</system>
+    <url>https://bitbucket.org/mstrobel/procyon/issues</url>
+  </issueManagement>
+  <scm>
+    <connection>scm:hg:https://hg@bitbucket.org/mstrobel/procyon</connection>
+    <developerConnection>scm:hg:https://mstrobel@bitbucket.org/mstrobel/procyon</developerConnection>
+    <url>https://bitbucket.org/mstrobel/procyon</url>
+  </scm>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.11</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.11</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/debian/poms/procyon-expressions.pom.xml b/debian/poms/procyon-expressions.pom.xml
new file mode 100644
index 0000000..6bd28a8
--- /dev/null
+++ b/debian/poms/procyon-expressions.pom.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.bitbucket.mstrobel</groupId>
+  <artifactId>procyon-expressions</artifactId>
+  <version>0.5.32</version>
+  <name>procyon-expressions</name>
+  <description>Procyon</description>
+  <url>https://bitbucket.org/mstrobel/procyon</url>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <developers>
+    <developer>
+      <id>mstrobel</id>
+      <name>Mike Strobel</name>
+      <roles>
+        <role>owner</role>
+        <role>packager</role>
+        <role>developer</role>
+      </roles>
+    </developer>
+  </developers>
+  <issueManagement>
+    <system>jira</system>
+    <url>https://bitbucket.org/mstrobel/procyon/issues</url>
+  </issueManagement>
+  <scm>
+    <connection>scm:hg:https://hg@bitbucket.org/mstrobel/procyon</connection>
+    <developerConnection>scm:hg:https://mstrobel@bitbucket.org/mstrobel/procyon</developerConnection>
+    <url>https://bitbucket.org/mstrobel/procyon</url>
+  </scm>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.11</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.bitbucket.mstrobel</groupId>
+      <artifactId>procyon-reflection</artifactId>
+      <version>0.5.32</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.11</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/debian/poms/procyon-reflection.pom.xml b/debian/poms/procyon-reflection.pom.xml
new file mode 100644
index 0000000..541bc0b
--- /dev/null
+++ b/debian/poms/procyon-reflection.pom.xml
@@ -0,0 +1,58 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
+    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <modelVersion>4.0.0</modelVersion>
+  <groupId>org.bitbucket.mstrobel</groupId>
+  <artifactId>procyon-reflection</artifactId>
+  <version>0.5.32</version>
+  <name>procyon-reflection</name>
+  <description>Procyon</description>
+  <url>https://bitbucket.org/mstrobel/procyon</url>
+  <licenses>
+    <license>
+      <name>The Apache Software License, Version 2.0</name>
+      <url>http://www.apache.org/licenses/LICENSE-2.0.txt</url>
+      <distribution>repo</distribution>
+    </license>
+  </licenses>
+  <developers>
+    <developer>
+      <id>mstrobel</id>
+      <name>Mike Strobel</name>
+      <roles>
+        <role>owner</role>
+        <role>packager</role>
+        <role>developer</role>
+      </roles>
+    </developer>
+  </developers>
+  <issueManagement>
+    <system>jira</system>
+    <url>https://bitbucket.org/mstrobel/procyon/issues</url>
+  </issueManagement>
+  <scm>
+    <connection>scm:hg:https://hg@bitbucket.org/mstrobel/procyon</connection>
+    <developerConnection>scm:hg:https://mstrobel@bitbucket.org/mstrobel/procyon</developerConnection>
+    <url>https://bitbucket.org/mstrobel/procyon</url>
+  </scm>
+  <dependencies>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.11</version>
+      <scope>test</scope>
+    </dependency>
+    <dependency>
+      <groupId>org.bitbucket.mstrobel</groupId>
+      <artifactId>procyon-core</artifactId>
+      <version>0.5.32</version>
+      <scope>compile</scope>
+    </dependency>
+    <dependency>
+      <groupId>junit</groupId>
+      <artifactId>junit</artifactId>
+      <version>4.11</version>
+      <scope>test</scope>
+    </dependency>
+  </dependencies>
+</project>
diff --git a/debian/procyon-decompiler.classpath b/debian/procyon-decompiler.classpath
new file mode 100644
index 0000000..29536a0
--- /dev/null
+++ b/debian/procyon-decompiler.classpath
@@ -0,0 +1 @@
+usr/share/java/procyon-decompiler.jar /usr/share/java/jcommander.jar /usr/share/java/procyon-core.jar /usr/share/java/procyon-compilertools.jar /usr/share/java/procyon-expressions.jar /usr/share/java/procyon-reflection.jar
diff --git a/debian/procyon-decompiler.install b/debian/procyon-decompiler.install
new file mode 100644
index 0000000..f6e2bbd
--- /dev/null
+++ b/debian/procyon-decompiler.install
@@ -0,0 +1,2 @@
+debian/scripts/procyon     usr/bin/
+debian/completion/procyon  usr/share/bash-completion/completions/
diff --git a/debian/procyon-decompiler.jlibs b/debian/procyon-decompiler.jlibs
new file mode 100644
index 0000000..300b57f
--- /dev/null
+++ b/debian/procyon-decompiler.jlibs
@@ -0,0 +1 @@
+build/Procyon.Decompiler/libs/procyon-decompiler-0.5.32.jar
diff --git a/debian/procyon-decompiler.manifest b/debian/procyon-decompiler.manifest
new file mode 100644
index 0000000..474cc7a
--- /dev/null
+++ b/debian/procyon-decompiler.manifest
@@ -0,0 +1,2 @@
+usr/share/java/procyon-decompiler.jar:
+ Main-Class: com.strobel.decompiler.DecompilerDriver
diff --git a/debian/procyon-decompiler.manpages b/debian/procyon-decompiler.manpages
new file mode 100644
index 0000000..d5f365f
--- /dev/null
+++ b/debian/procyon-decompiler.manpages
@@ -0,0 +1 @@
+debian/procyon.1
diff --git a/debian/procyon.1 b/debian/procyon.1
new file mode 100644
index 0000000..891f069
--- /dev/null
+++ b/debian/procyon.1
@@ -0,0 +1,221 @@
+.\" DO NOT MODIFY THIS FILE!  It was generated by help2man 1.47.4.
+.TH PROCYON "1" "October 2016" "procyon 0.5.32" "User Commands"
+
+.SH NAME
+procyon \- manual page for the Procyon Java decompiler
+
+.SH SYNOPSIS
+.B procyon
+[\fI\,options\/\fR] \fI\,<type names or class/jar files>\/\fR
+
+.SH DESCRIPTION
+
+Procyon is a Java decompiler handling language enhancements from Java 5
+and beyond that most other decompilers don't. It also excels in areas
+where others fall short. Procyon in particular does well with:
+ * Enum declarations
+ * Enum and String switch statements
+ * Local classes (both anonymous and named)
+ * Annotations
+ * Java 8 Lambdas and method references
+
+Procyon offers three output modes:
+ * Java (default)
+ * Raw Bytecode (similar to javap, but prettier; run with \fB\-r\fR)
+ * Bytecode AST (an intermediate representation; run with \fB\-b\fR, add \fB\-u\fR for unoptimized)
+
+.PP
+One or more types can be passed as an argument to be processed. The input
+types can be fully-qualified names in dotted or binary form (e.g.,
+\fBjava.lang.String\fR or \fBjava/lang/String\fR) or relative/absolute
+file paths (\fBpath/to/MyClass.class\fR) or even whole jar files.
+If a type name is passed, Procyon will attempt to load it out of the user
+or bootstrap classpath.
+
+.SH OPTIONS
+
+.HP
+\fB\-b\fR, \fB\-\-bytecode\-ast\fR
+.IP
+Output Bytecode AST instead of Java.
+Default: false
+.HP
+\fB\-ci\fR, \fB\-\-collapse\-imports\fR
+.IP
+Collapse multiple imports from the same package into a single wildcard
+import.
+Default: false
+.HP
+\fB\-cp\fR, \fB\-\-constant\-pool\fR
+.IP
+Includes the constant pool when displaying raw bytecode (unnecessary with
+\fB\-v\fR).
+Default: false
+.HP
+\fB\-dl\fR, \fB\-\-debug\-line\-numbers\fR
+.IP
+For debugging, show Java line numbers as inline comments (implies \fB\-ln\fR;
+requires \fB\-o\fR).
+Default: false
+.HP
+\fB\-\-disable\-foreach\fR
+.IP
+Disable 'for each' loop transforms.
+Default: false
+.HP
+\fB\-eml\fR, \fB\-\-eager\-method\-loading\fR
+.IP
+Enable eager loading of method bodies (may speed up decompilation of
+larger archives).
+Default: false
+.HP
+\fB\-ent\fR, \fB\-\-exclude\-nested\fR
+.IP
+Exclude nested types when decompiling their enclosing types.
+Default: false
+.HP
+\fB\-ei\fR, \fB\-\-explicit\-imports\fR
+.IP
+[DEPRECATED] Explicit imports are now enabled by default.
+This option will be removed in a future release.
+Default: false
+.HP
+\fB\-eta\fR, \fB\-\-explicit\-type\-arguments\fR
+.IP
+Always print type arguments to generic methods.
+Default: false
+.HP
+\fB\-fsb\fR, \fB\-\-flatten\-switch\-blocks\fR
+.IP
+Drop the braces statements around switch sections when possible.
+Default: false
+.HP
+\-?, \fB\-\-help\fR
+.IP
+Display this usage information and exit.
+Default: false
+.HP
+\fB\-jar\fR, \fB\-\-jar\-file\fR
+.IP
+[DEPRECATED] Decompile all classes in the specified jar file (disables
+\fB\-ent\fR and \fB\-s\fR).
+.HP
+\fB\-lc\fR, \fB\-\-light\fR
+.IP
+Use a color scheme designed for consoles with light background colors.
+Default: false
+.HP
+\fB\-lv\fR, \fB\-\-local\-variables\fR
+.IP
+Includes the local variable tables when displaying raw bytecode
+(unnecessary with \fB\-v\fR).
+Default: false
+.HP
+\fB\-ll\fR, \fB\-\-log\-level\fR
+.IP
+Set the level of log verbosity (0\-3).
+Level 0 disables logging. Default: 0
+.HP
+\fB\-mv\fR, \fB\-\-merge\-variables\fR
+.IP
+Attempt to merge as many variables as possible.
+This may lead to fewer declarations, but at the expense of inlining and useful naming.
+This feature is experimental and may be removed or become the standard behavior in future releases.
+Default: false
+.HP
+\fB\-o\fR, \fB\-\-output\-directory\fR
+.IP
+Write decompiled results to specified directory instead of the console.
+.HP
+\fB\-r\fR, \fB\-\-raw\-bytecode\fR
+.IP
+Output Raw Bytecode instead of Java (to control the level of detail, see:
+\fB\-cp\fR, \fB\-lv\fR, \fB\-ta\fR, \fB\-v\fR).
+Default: false
+.HP
+\fB\-ec\fR, \fB\-\-retain\-explicit\-casts\fR
+.IP
+Do not remove redundant explicit casts.
+Default: false
+.HP
+\fB\-ps\fR, \fB\-\-retain\-pointless\-switches\fR
+.IP
+Do not lift the contents of switches having only a default label.
+Default: false
+.HP
+\fB\-ss\fR, \fB\-\-show\-synthetic\fR
+.IP
+Show synthetic (compiler\-generated) members.
+Default: false
+.HP
+\fB\-sm\fR, \fB\-\-simplify\-member\-references\fR
+.IP
+Simplify type\-qualified member references in Java output [EXPERIMENTAL].
+Default: false
+.HP
+\fB\-sl\fR, \fB\-\-stretch\-lines\fR
+.IP
+Stretch Java lines to match original line numbers (only in combination
+with \fB\-o\fR) [EXPERIMENTAL].
+Default: false
+.HP
+\fB\-ta\fR, \fB\-\-type\-attributes\fR
+.IP
+Includes type attributes when displaying raw bytecode (unnecessary with
+\fB\-v\fR).
+Default: false
+.HP
+\fB\-\-unicode\fR
+.IP
+Enable Unicode output (printable non\-ASCII characters will not be
+escaped).
+Default: false
+.HP
+\fB\-u\fR, \fB\-\-unoptimized\fR
+.IP
+Show unoptimized code (only in combination with \fB\-b\fR).
+Default: false
+.HP
+\fB\-v\fR, \fB\-\-verbose\fR
+.IP
+Includes more detailed output depending on the output language (currently
+only supported for raw bytecode).
+Default: false
+.HP
+\fB\-\-version\fR
+.IP
+Display the decompiler version and exit.
+Default: false
+.HP
+\fB\-ln\fR, \fB\-\-with\-line\-numbers\fR
+.IP
+Include line numbers in raw bytecode mode; supports Java mode with \fB\-o\fR
+only.
+Default: false
+
+.SH EXAMPLES
+
+Decompile a single class to the console:
+
+.IP
+$ procyon java.lang.String
+.IP
+$ procyon java.util.Collections
+
+
+.PP
+Decompile a whole jar to a directory:
+
+.IP
+$ procyon myJar.jar -o out
+
+
+.PP
+Decompile a single class from a jar:
+
+.IP
+$ CLASSPATH=myJar.jar procyon com.example.Foo
+
+
+.SH "SEE ALSO"
+https://bitbucket.org/mstrobel/procyon/wiki/Java%20Decompiler
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..7a9e7e4
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,14 @@
+#!/usr/bin/make -f
+
+VERSION = $(shell dpkg-parsechangelog --show-field Version | sed 's/-[^-]*$$//')
+
+%:
+	dh $@ --buildsystem=gradle --with maven-repo-helper --with javahelper
+
+get-orig-source:
+	uscan --download-current-version --force-download --rename --repack --compression xz
+
+get-orig-pom:
+	for module in core compilertools expressions reflection; do \
+	    wget https://repo1.maven.org/maven2/org/bitbucket/mstrobel/procyon-$$module/$(VERSION)/procyon-$$module-$(VERSION).pom -O debian/poms/procyon-$$module.pom.xml ; \
+	done
diff --git a/debian/scripts/procyon b/debian/scripts/procyon
new file mode 100755
index 0000000..e7a9ef5
--- /dev/null
+++ b/debian/scripts/procyon
@@ -0,0 +1,9 @@
+#!/bin/sh
+#
+# Launcher script for the Procyon Java decompiler
+#
+
+
+CLASSPATH=$CLASSPATH:/usr/share/java/jcommander.jar:/usr/share/java/procyon-core.jar:/usr/share/java/procyon-compilertools.jar:/usr/share/java/procyon-expressions.jar:/usr/share/java/procyon-reflection.jar:/usr/share/java/procyon-decompiler.jar
+
+java -cp $CLASSPATH com.strobel.decompiler.DecompilerDriver $@
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..f1a3e51
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,2 @@
+version=4
+https://bitbucket.org/mstrobel/procyon/downloads?tab=tags .*/v([\d\.]+).tar.gz

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-java/procyon.git



More information about the pkg-java-commits mailing list