1 /* 2 * Licensed to the Apache Software Foundation (ASF) under one 3 * or more contributor license agreements. See the NOTICE file 4 * distributed with this work for additional information 5 * regarding copyright ownership. The ASF licenses this file 6 * to you under the Apache License, Version 2.0 (the 7 * "License"); you may not use this file except in compliance 8 * with the License. You may obtain a copy of the License at 9 * 10 * http://www.apache.org/licenses/LICENSE-2.0 11 * 12 * Unless required by applicable law or agreed to in writing, 13 * software distributed under the License is distributed on an 14 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 15 * KIND, either express or implied. See the License for the 16 * specific language governing permissions and limitations 17 * under the License. 18 */ 19 package org.apache.felix.bundleplugin; 20 21 22 import aQute.lib.osgi.Builder; 23 24 25 /** 26 * Extension of {@link aQute.lib.osgi.Builder} to handle package versions 27 * 28 * @author <a href="mailto:dev@felix.apache.org">Felix Project Team</a> 29 */ 30 public final class PackageVersionAnalyzer extends Builder 31 { 32 /* 33 * Remove META-INF subfolders from exports and set package versions to bundle version. 34 */ 35 /* 36 public Map analyzeBundleClasspath( Jar dot, Map bundleClasspath, Map contained, Map referred, Map uses ) 37 throws IOException 38 { 39 Map classSpace = super.analyzeBundleClasspath( dot, bundleClasspath, contained, referred, uses ); 40 String bundleVersion = getProperty( BUNDLE_VERSION ); 41 for ( Iterator it = contained.entrySet().iterator(); it.hasNext(); ) 42 { 43 Map.Entry entry = ( Map.Entry ) it.next(); 44 45 // remove packages under META-INF 46 String packageName = ( String ) entry.getKey(); 47 if ( packageName.startsWith( "META-INF." ) ) 48 { 49 it.remove(); 50 } 51 52 // set package versions to bundle version values 53 if ( bundleVersion != null ) 54 { 55 Map values = ( Map ) entry.getValue(); 56 if ( values.get( "version" ) == null ) 57 { 58 values.put( "version", bundleVersion ); 59 } 60 } 61 } 62 return classSpace; 63 } 64 */ 65 }