10000 GitHub - waooog/SourcererJBF: Sourcerer's Java Build Framework
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

waooog/SourcererJBF

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

76 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

# JBF - the Java Build Framework

REQUIREMENTS
==============
python packages: subprocess32, chardet
pip install subprocess32
pip install chardet

java version: jdk8+
ant version: any that uses javac from jdk8+

COMMAND TO BUILD PROJECTS
==============
./compile.py -r projects [-t <number of worker threads you want>]

-t defaults to 10. Full help is given at the bottom.

IMPORTANT FILES & FOLDERS
==============
projects/ -> All the projects that can be build. There are at most 1000 projects in each folder in projects/
builds/ -> All the generated bytecodes and complete information about the latest build

project_details.json -> Bookkeeping details for the projects that instruct the compilation script on how to build them successfully. This file has been generated from the previous successful run.

jars/ -> The repository of jars needed for these projects.
    /ext -> our own copy of java extention jars, and any other special jars

sourcererjbf/ -> The python package with scripts for building the projects.

xml-templates/ -> The templates of the build.xml, and ivy.xml files used when building the projects.

fqn-to-jars.json -> The global mapping of FQNs to jars, from our huge repository

compile.py -> The main driver script for building projects.


GENERATED FILES & FOLDERS
==============
builds/ -> The output of the build process. Each project build data is placed here in a heirarchy that is similar to that of projects/
TBUILD/ -> Temporary build folders for all threads. (ignore)
Uncompress/ -> Temporary folder used to unzip the project files from their zip archives. (ignore)
hs_*.log -> Log files generated by worker threads in case of failures.(ignore)

NOTE: please delete all these generated files & folders before each new run of compile.py.

COMPILE.PY HELP
==============
usage: compile.py [-h] [-r ROOT] [-b] [-f FILE] [-d OUTFOLDER] [-o OUTPUT]
                  [-j JARS] [-ftj FQN_TO_JAR] [-t THREADS]

optional arguments:
  -h, --help            show this help message and exit
  -r ROOT, --root ROOT  The directory under which all the java projects to be
                        compiled exist.
  -b, --rebuild_from_scratch
                        Rebuild the projects from scratch. Dependency
                        rematching implies that all projects might not
                        recompile successfully.
  -f FILE, --file FILE  The file with project paths to be build. Paths in file
                        are considered relative to the root directory.
  -d OUTFOLDER, --outfolder OUTFOLDER
                        The directory under which all the output build
                        directories will be put.
  -o OUTPUT, --output OUTPUT
                        An output file that will contain all the output
                        information consolidated.
  -j JARS, --jars JARS  The root of the java repository
  -ftj FQN_TO_JAR, --fqn_to_jar FQN_TO_JAR
                        The file that represents the mapping of fqn to jar in
                        repository.
  -t THREADS, --threads THREADS
                        The number of base threads to be run.

About

Sourcerer's Java Build Framework

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.4%
  • Shell 0.6%
0