<commit_before>{ stdenv, fetchurl, unzip, ant, gcj }:

let
  version = "3.7.2";
  date    = "201202080800";
  isGCJ   = stdenv.lib.strings.substring 0 3 gcj.name == "gcj";
  javaExec  = if isGCJ then "gij" else "java";
  javaFlags = if isGCJ then "--cp" else "-cp";
in

stdenv.mkDerivation rec {
  name = "ecj-${version}";

  src = fetchurl {
    url = "http://eclipse.ialto.org/eclipse/downloads/drops/R-${version}-${date}/ecjsrc-${version}.jar";
    sha256 = "0swyysbyfmv068x8q1c5jqpwk5zb4xahg17aypx5rwb660f8fpbm";
  };

  buildInputs = [ unzip ant gcj ];

  unpackPhase = ''
    mkdir "${name}"
    cd "${name}"
    unzip "$src"
  '';

  # Use whatever compiler Ant knows.
  buildPhase = "ant build";

  installPhase = ''
    mkdir -pv "$out/lib/java"
    cp -v *.jar "$out/lib/java"

    mkdir -pv "$out/bin"
    cat > "$out/bin/ecj" <<EOF
#! /bin/sh
exec "$(type -P ${javaExec})" ${javaFlags} "$out/lib/java/ecj.jar" org.eclipse.jdt.internal.compiler.batch.Main \$@
EOF

    chmod u+x "$out/bin/ecj"
  '';

  meta = {
    description = "The Eclipse Compiler for Java (ECJ)";

    longDescription = ''
      ECJ is an incremental Java compiler.  Implemented as an Eclipse
      builder, it is based on technology evolved from VisualAge for Java
      compiler.  In particular, it allows users to run and debug code which
      still contains unresolved errors.
    '';

    homepage = http://www.eclipse.org/jdt/core/index.php;

    # http://www.eclipse.org/legal/epl-v10.html (free software, copyleft)
    license = "EPLv1.0";
  };
}<commit_msg>ecj: Build using OpenJDK<commit_after>{ stdenv, fetchurl, unzip, ant, jdk }:

let
  version = "3.7.2";
  date    = "201202080800";
in

stdenv.mkDerivation rec {
  name = "ecj-${version}";

  src = fetchurl {
    url = "http://eclipse.ialto.org/eclipse/downloads/drops/R-${version}-${date}/ecjsrc-${version}.jar";
    sha256 = "0swyysbyfmv068x8q1c5jqpwk5zb4xahg17aypx5rwb660f8fpbm";
  };

  buildInputs = [ unzip ant jdk ];

  unpackPhase = ''
    mkdir "${name}"
    cd "${name}"
    unzip "$src"
  '';

  # Use whatever compiler Ant knows.
  buildPhase = "ant build";

  installPhase = ''
    mkdir -pv $out/lib/java
    cp -v *.jar $out/lib/java

    mkdir -pv $out/bin
    cat > $out/bin/ecj <<EOF
    #! /bin/sh
    exec ${jdk.jre}/bin/java -cp $out/lib/java/ecj.jar org.eclipse.jdt.internal.compiler.batch.Main "\$@"
    EOF

    chmod u+x $out/bin/ecj
  '';

  meta = {
    description = "The Eclipse Compiler for Java (ECJ)";

    longDescription = ''
      ECJ is an incremental Java compiler.  Implemented as an Eclipse
      builder, it is based on technology evolved from VisualAge for Java
      compiler.  In particular, it allows users to run and debug code which
      still contains unresolved errors.
    '';

    homepage = http://www.eclipse.org/jdt/core/index.php;

    # http://www.eclipse.org/legal/epl-v10.html (free software, copyleft)
    license = "EPLv1.0";

    platforms = stdenv.lib.platforms.linux;
  };
}
{'fraction_non_alphanumeric': 0.15003348961821836, 'fraction_numerical': 0.026121902210314803, 'mean_word_length': 2.8492268041237114, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 5, 'https://': 0, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 2, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '2259483', 'n_tokens_mistral': 1171, 'n_tokens_neox': 1090, 'n_words': 265}