Skip to content

emiliolg/apb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

APB – Project Build System Readme

Welcome to APB!
APB is a simple, yet powerfull, project build system that inherits some ideas from Ant and Maven while trying to avoid the use of complex XML files to define the metadata of the project. Project Definition is done in Java so you have the full power of Java plus the benefit of using your favorite IDE to edit the configuration files. Here are some of the features APB provides out-of-the-box:

  • Simple project definition based on default layouts, but with flexibility to accomodate your preferred one.
  • Model based builds: APB is able to build projects based on metadata about the project.
  • Full extensibility using Java
  • Dependency management
  • Full project lifecycle, including compilation, packaging and testing.
  • Coverage support during testing
  • Documentation generation
  • Generation of project files for common IDEs (Currently Intellij Idea)
  • Ant tasks to integrate APB projects into foreign contexts.
  • Command line invocation including shell-completion

Project Info

Installation

You can grab the installer from here
And then run it with java – jar.
It supports 2 basic modes:

  • Simple extraction (Option -x):
    Extracts everything under a subdirectory of the current working directory.
  • Installation under specified bin and lib directories:
    Just pass the bin directory as an argument.
    You can also use the --lib option to specify a directory where to copy all the jars.
    Additionally the --ant option can be used to indicate a directory where to install the jar with the ant tasks for apb.

Building from source code

APB requires at least Java 6.

You should first get APB’s source code from git:


~> git clone git://github.com/emiliolg/apb.git

Go to APB’s directory and run build.sh


~> cd apb ~/apb> ./build.sh [Apb.resources] Copying 3 resources [Apb.resources] to /Users/juancn/apb/modules/apb/output/classes [Apb.compile] Compiling 73 files [Apb.package] Building: /Users/juancn/apb/lib/apb.jar [Apb.package] Building: /Users/juancn/apb/lib/apb-src.jar [ApbAnt.resources] Copying 1 resource [ApbAnt.resources] to /Users/juancn/apb/modules/apb-ant/output/classes [ApbAnt.compile] Compiling 2 files [ApbAnt.package] Building: /Users/juancn/apb/lib/ant-apb.jar

BUILD COMPLETED in 2448 milliseconds.

You can now add the bin directory to your PATH environment variable and install the command line completion handler.
Add the following to your .profile.


export PATH="$PATH:~/apb/bin" . ~/apb/bin/completion/apb-complete.sh

License

Licensed under the Apache License, Version 2.0 (the “License”);
You may obtain a copy of the License at: http://www.apache.org/licenses/LICENSE-2.0