Download

Cafebabe.jp Products

cafebabe.jp has following products.

cafebabe-commons project

The groupId of below products is jp.cafebabe.commons.

artifactIdlatest versiondescriptionlicense
bcul1.0Java bytecode updating libraryApache License 2.0
cafebabe-lang1.0MiscellaneousApache License 2.0
classfinder1.0Finding class files from anywhereApache License 2.0
xmlcli1.0Build Options from xml file. (wrapper library of Jakarta commons-cli)GNU GPL version 2

donquixote project

The groupId of below products is jp.cafebabe.donquixote.

artifactIdlatest versiondescriptionlicense
runtime1.0DonQuixote runtime engineGNU GPL version 2
rocinante1.0DonQuixote plugin development platformApache License 2.0
sancho1.0DonQuixote Plugin loading libraryGNU GPL version 2
dulcinea1.0GUI interface for DonQuixote runtimeGNU GPL version 2

DonQuixote plugins provided by cafebabe.jp

The groupId of below products is jp.cafebabe.donquixote.plugins.

artifactIdlatest versiondescriptionlicense
deletenop1.0remove NOP instructions (no operation) from given class files (example project of donquixote plugins)Public Domain
mdist1.0An implementation of method distribute obfuscationApache License 2.0
optimizer1.0Optimizer for given class files (delete debug information, unused constants, ...)Apache License 2.0
symbolrenaming1.0Change symbol names to meaninglessApache License 2.0
stringencryption1.0Encrypt string literalApache License 2.0

We distribute above products in binary and source package.

Binary Distribution

If you want to download binary distribution of cafebabe.jp products, you can use Maven 2. Concretely speaking, save below xml file as ``pom.xml'' to certain directory and modify GROUP_ID, ARTIFACT_ID and VERSION. Next, run maven 2 with ``package'' goal (type mvn package in shell interface, or MS-DOS window). Then, maven2 will automatically download binary jar files of specified modules and copy them to ``target'' directory.

Specific GROUP_ID, ARTIFACT_ID and VERSION is presented at products.

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

  <modelVersion>4.0.0</modelVersion>
  <groupId>jp.cafebabe</groupId>
  <artifactId>installer</artifactId>
  <packaging>pom</packaging>
  <version>1.0</version>
  <name>cafebabe.jp module installer</name>
  <url>http://cafebabe.jp/</url>

  <repositories>
    <repository>
      <id>maven.cafebabe.jp</id>
      <name>cafebabe Maven2 Repository</name>
      <url>http://cafebabe.jp/repository/maven2</url>
    </repository>
  </repositories>

  <dependencies>
    <dependency>
      <groupId>GROUP_ID</groupId>
      <artifactId>ARTIFACT_ID</artifactId>
      <version>VERSION</version>
      <scope>compile</scope>
    </dependency>
<!--
    If you need more modules, append dependency tags.
    <dependency>
      <groupId>GROUP_ID</groupId>
      <artifactId>ARTIFACT_ID</artifactId>
      <version>VERSION</version>
      <scope>compile</scope>
    </dependency>
-->
  </dependencies>

  <build>
    <plugins>
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>dependency-maven-plugin</artifactId>
        <executions>
          <execution>
            <id>copy-dependencies</id>
            <phase>package</phase>
            <goals>
              <goal>copy-dependencies</goal>
            </goals>
            <configuration>
              <outputDirectory>${project.build.directory}</outputDirectory>
            </configuration>
          </execution>
        </executions>
      </plugin>
    </plugins>
  </build>
</project>

Source Distribution

Basically, the directory structure of source distribution package obtained by expanding archives is the form in below figure (Fig. 1).

Figure.1 Basic directory structure of source distribution package

Root directory of product has 2 files which named LICENSE.txt and pom.xml and 1 directory. The directory which named src has main and test directories which contained Java source files and unit test case. LICENSE.txt file is described the product license. pom.xml is the project object model for working maven2.

So, you want to know the requirements libraries, see the dependencies tag in pom.xml and you can compile the product by maven.

jp.cafebabe.commons

bcul
cafebabe-lang
classfinder
xmlcli

jp.cafebabe.donquixote

runtime
rocinante
sancho
dulcinea

jp.cafebabe.donquixote.plugins

deletenop
mdist
optimizer
symbolrenaming
stringencryption