# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with this # work for additional information regarding copyright ownership. The ASF # licenses this file to you under the Apache License, Version 2.0 (the # "License"); you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations under # the License. require File.expand_path('../spec_helpers', File.dirname(__FILE__)) Sandbox.require_optional_extension 'buildr/bnd' def open_zip_file(file = 'target/foo-2.1.3.jar') jar_filename = @foo._(file) File.should be_exist(jar_filename) Zip::ZipFile.open(jar_filename) do |zip| yield zip end end def open_main_manifest_section(file = 'target/foo-2.1.3.jar') jar_filename = @foo._(file) File.should be_exist(jar_filename) yield Buildr::Packaging::Java::Manifest.from_zip(jar_filename).main end describe Buildr::Bnd do before do repositories.remote << Buildr::Bnd.remote_repository end describe "project.bnd version (assure backward compatibility)" do after do STDERR.puts("backward compatibility: used #{Buildr::Bnd.version} restoring #{@savedVersion}") Buildr::Bnd.version = @savedVersion end before do @savedVersion = Buildr::Bnd.version Buildr::Bnd.version = '0.0.384' write "src/main/java/com/biz/Foo.java", <