lib/jbundler.rb in jbundler-0.8.0.pre vs lib/jbundler.rb in jbundler-0.8.0

- old
+ new

@@ -16,16 +16,58 @@ # FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR # COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER # IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN # CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. # -require 'jbundler/executor' + +require 'jbundler/context' +require 'jbundler/lock_down' + module JBundler - def self.install( debug = false, verbose = false, options = {} ) - JBundler::Executor.new( debug, verbose ).lock_down( options ) + def self.context + @context ||= JBundler::Context.new end - def self.jarfile - ENV[ 'JBUNDLER_JARFILE' ] || ENV_JAVA[ 'jbundler.jarfile' ] || 'Jarfile' + def self.setup_test + context.classpath.require_test_classpath + context.config end + + def self.require_jars + if context.vendor.vendored? + jars = context.vendor.require_jars + if context.config.verbose + warn "jbundler classpath:" + jars.each do |path| + warn "\t#{path}" + end + end + elsif context.classpath.exists? && context.jarfile.exists_lock? + require 'java' + context.classpath.require_classpath + if context.config.verbose + warn "jbundler classpath:" + JBUNDLER_CLASSPATH.each do |path| + warn "\t#{path}" + end + end + Jars.no_more_warnings + end + end + + def self.install( debug = false, verbose = false ) + jbundler = JBundler::LockDown.new( context.config ) + msg = jbundler.lock_down( false, debug, verbose ) + puts msg if msg + end + + def self.setup + if context.config.skip + warn "skip jbundler setup" if context.config.verbose + else + require_jars + end + end end + +JBundler.setup