forked from Mondego/SourcererJBF
-
Notifications
You must be signed in to change notification settings - Fork 0
anu0473/SourcererJBF
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
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 0
No packages published
Languages
- Python 99.4%
- Shell 0.6%