PackageVersionAnalyzer xref

    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  }