felix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From mccu...@apache.org
Subject svn commit: r1362033 [1/10] - in /felix/trunk/bundleplugin/src: main/java/aQute/bnd/build/ main/java/aQute/bnd/build/model/ main/java/aQute/bnd/build/model/clauses/ main/java/aQute/bnd/build/model/conversions/ main/java/aQute/bnd/compatibility/ main/ja...
Date Mon, 16 Jul 2012 13:43:44 GMT
Author: mcculls
Date: Mon Jul 16 13:43:38 2012
New Revision: 1362033

URL: http://svn.apache.org/viewvc?rev=1362033&view=rev
Log:
Update to latest refactored bndlib

Added:
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/filerepo/
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/filerepo/FileRepo.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/filerepo/packageinfo
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/header/
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/header/Attrs.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/header/OSGiHeader.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/header/Parameters.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/header/packageinfo
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/About.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/AbstractResource.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/Analyzer.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/AnalyzerMessages.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/Annotation.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/Builder.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/BundleId.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/ClassDataCollector.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/Clazz.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/CombinedResource.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/CommandResource.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/Constants.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/Descriptors.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/Domain.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/EmbeddedResource.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/FileResource.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/Instruction.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/Instructions.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/Jar.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/JarResource.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/Macro.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/OpCodes.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/Packages.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/PreprocessResource.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/Processor.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/Resource.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/TagResource.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/URLResource.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/Verifier.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/Version.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/VersionRange.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/WriteResource.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/ZipResource.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/eclipse/
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/eclipse/EclipseClasspath.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/packageinfo
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/resource/
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/resource/CapReq.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/resource/CapReqBuilder.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/resource/Filters.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/resource/ResourceBuilder.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/resource/ResourceImpl.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/osgi/resource/packageinfo
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/properties/
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/properties/BadLocationException.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/properties/CopyOnWriteTextStore.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/properties/Document.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/properties/GapTextStore.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/properties/IDocument.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/properties/IRegion.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/properties/ITextStore.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/properties/Line.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/properties/LineTracker.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/properties/LineType.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/properties/PropertiesLineReader.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/properties/PropertiesReader.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/properties/Region.java   (with props)
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/properties/packageinfo
    felix/trunk/bundleplugin/src/main/java/aQute/libg/filters/LiteralFilter.java   (with props)
    felix/trunk/bundleplugin/src/main/resources/aQute/bnd/osgi/
    felix/trunk/bundleplugin/src/main/resources/aQute/bnd/osgi/bnd.info
Removed:
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/About.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/AbstractResource.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Analyzer.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/AnalyzerMessages.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Annotation.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Builder.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/BundleId.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/ClassDataCollector.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Clazz.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/CombinedResource.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/CommandResource.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Constants.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Descriptors.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Domain.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/EmbeddedResource.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/FileResource.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Instruction.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Instructions.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Jar.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/JarResource.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Macro.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/OpCodes.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Packages.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/PreprocessResource.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Processor.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Resource.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/TagResource.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/URLResource.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/Verifier.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/WriteResource.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/ZipResource.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/eclipse/EclipseClasspath.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/packageinfo
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/resource/CapReq.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/resource/CapReqBuilder.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/resource/Filters.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/resource/ResourceBuilder.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/resource/ResourceImpl.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/osgi/resource/packageinfo
    felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/BadLocationException.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/CopyOnWriteTextStore.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/Document.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/GapTextStore.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/IDocument.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/IRegion.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/ITextStore.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/Line.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/LineTracker.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/LineType.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/PropertiesLineReader.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/PropertiesReader.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/Region.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/properties/packageinfo
    felix/trunk/bundleplugin/src/main/java/aQute/libg/filerepo/FileRepo.java
    felix/trunk/bundleplugin/src/main/java/aQute/libg/filerepo/packageinfo
    felix/trunk/bundleplugin/src/main/java/aQute/libg/header/Attrs.java
    felix/trunk/bundleplugin/src/main/java/aQute/libg/header/OSGiHeader.java
    felix/trunk/bundleplugin/src/main/java/aQute/libg/header/Parameters.java
    felix/trunk/bundleplugin/src/main/java/aQute/libg/header/packageinfo
    felix/trunk/bundleplugin/src/main/java/aQute/libg/version/Version.java
    felix/trunk/bundleplugin/src/main/java/aQute/libg/version/VersionRange.java
    felix/trunk/bundleplugin/src/main/java/aQute/libg/version/packageinfo
    felix/trunk/bundleplugin/src/main/resources/aQute/lib/osgi/bnd.info
Modified:
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Container.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Project.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/ProjectBuilder.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/ProjectLauncher.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/ProjectMessages.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Workspace.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/WorkspaceRepository.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/BndEditModel.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ExportedPackage.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/HeaderClause.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ImportPattern.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ServiceComponent.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/VersionedClause.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/ClauseListConverter.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/EEConverter.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/EEFormatter.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/HeaderClauseConverter.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/PropertiesConverter.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/RequirementFormatter.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/RequirementListConverter.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/SimpleListConverter.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/VersionedClauseConverter.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/compatibility/ParseSignatureBuilder.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/AnnotationReader.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/ComponentDef.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/DSAnnotations.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/ReferenceDef.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/Baseline.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/DiffPluginImpl.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/JavaElement.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/RepositoryElement.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/help/Syntax.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/make/Make.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/make/MakeBnd.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/make/MakeCopy.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/make/calltree/CalltreeResource.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/make/component/ComponentAnnotationReader.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/make/component/ServiceComponent.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/make/coverage/Coverage.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/make/coverage/CoverageResource.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/make/metatype/MetaTypeReader.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/make/metatype/MetatypePlugin.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenCommand.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenDeploy.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenDeployCmd.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/MavenRepository.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/PomFromManifest.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/PomParser.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/PomResource.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/maven/support/MavenRemoteRepository.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/repo/eclipse/EclipseRepo.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/service/AnalyzerPlugin.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/service/Deploy.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/service/MakePlugin.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/service/RepositoryListenerPlugin.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/service/RepositoryPlugin.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/service/SignerPlugin.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/service/diff/Differ.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/service/diff/Type.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/signing/JartoolSigner.java
    felix/trunk/bundleplugin/src/main/java/aQute/bnd/signing/Signer.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/collections/MultiMap.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/converter/Converter.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/deployer/FileInstallRepo.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/deployer/FileRepo.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/spring/JPAComponent.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/spring/SpringComponent.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/spring/SpringXMLType.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/spring/XMLType.java
    felix/trunk/bundleplugin/src/main/java/aQute/lib/spring/XMLTypeProcessor.java
    felix/trunk/bundleplugin/src/main/java/aQute/libg/cryptography/Digest.java
    felix/trunk/bundleplugin/src/main/java/aQute/libg/cryptography/MD5.java
    felix/trunk/bundleplugin/src/main/java/aQute/libg/cryptography/SHA1.java
    felix/trunk/bundleplugin/src/main/java/aQute/libg/cryptography/SHA256.java
    felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/ReporterAdapter.java
    felix/trunk/bundleplugin/src/main/java/aQute/libg/reporter/ReporterMessages.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/AbstractDependencyFilter.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/AntPlugin.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BlueprintPlugin.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundleAllPlugin.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/BundlePlugin.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/DependencyEmbedder.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/InstructionsPlugin.java
    felix/trunk/bundleplugin/src/main/java/org/apache/felix/bundleplugin/ManifestPlugin.java
    felix/trunk/bundleplugin/src/main/java/org/apache/maven/shared/osgi/DefaultMaven2OsgiConverter.java
    felix/trunk/bundleplugin/src/test/java/org/apache/felix/bundleplugin/BlueprintComponentTest.java
    felix/trunk/bundleplugin/src/test/java/org/apache/felix/bundleplugin/BundlePluginTest.java

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Container.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Container.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Container.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Container.java Mon Jul 16 13:43:38 2012
@@ -4,8 +4,8 @@ import java.io.*;
 import java.util.*;
 import java.util.jar.*;
 
+import aQute.bnd.osgi.*;
 import aQute.bnd.service.RepositoryPlugin.Strategy;
-import aQute.lib.osgi.*;
 
 public class Container {
 	public enum TYPE {

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Project.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Project.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Project.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Project.java Mon Jul 16 13:43:38 2012
@@ -8,19 +8,18 @@ import java.util.Map.Entry;
 import java.util.concurrent.locks.*;
 import java.util.jar.*;
 
+import aQute.bnd.header.*;
 import aQute.bnd.help.*;
 import aQute.bnd.maven.support.*;
+import aQute.bnd.osgi.*;
+import aQute.bnd.osgi.eclipse.*;
 import aQute.bnd.service.*;
 import aQute.bnd.service.RepositoryPlugin.Strategy;
 import aQute.bnd.service.action.*;
 import aQute.lib.io.*;
-import aQute.lib.osgi.*;
-import aQute.lib.osgi.eclipse.*;
 import aQute.libg.generics.*;
-import aQute.libg.header.*;
 import aQute.libg.reporter.*;
 import aQute.libg.sed.*;
-import aQute.libg.version.*;
 
 /**
  * This class is NOT threadsafe

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/ProjectBuilder.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/ProjectBuilder.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/ProjectBuilder.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/ProjectBuilder.java Mon Jul 16 13:43:38 2012
@@ -3,7 +3,7 @@ package aQute.bnd.build;
 import java.io.*;
 import java.util.*;
 
-import aQute.lib.osgi.*;
+import aQute.bnd.osgi.*;
 
 public class ProjectBuilder extends Builder {
 	Project	project;

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/ProjectLauncher.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/ProjectLauncher.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/ProjectLauncher.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/ProjectLauncher.java Mon Jul 16 13:43:38 2012
@@ -6,11 +6,11 @@ import java.util.Map.Entry;
 import java.util.concurrent.*;
 import java.util.jar.*;
 
+import aQute.bnd.header.*;
+import aQute.bnd.osgi.*;
 import aQute.bnd.service.RepositoryPlugin.Strategy;
-import aQute.lib.osgi.*;
 import aQute.libg.command.*;
 import aQute.libg.generics.*;
-import aQute.libg.header.*;
 
 /**
  * A Project Launcher is a base class to be extended by launchers. Launchers are

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/ProjectMessages.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/ProjectMessages.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/ProjectMessages.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/ProjectMessages.java Mon Jul 16 13:43:38 2012
@@ -3,11 +3,10 @@ package aQute.bnd.build;
 import java.io.*;
 import java.util.*;
 
+import aQute.bnd.osgi.*;
 import aQute.bnd.service.*;
 import aQute.bnd.service.RepositoryPlugin.Strategy;
-import aQute.lib.osgi.*;
 import aQute.libg.reporter.*;
-import aQute.libg.version.*;
 
 public interface ProjectMessages extends Messages {
 

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Workspace.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Workspace.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Workspace.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/Workspace.java Mon Jul 16 13:43:38 2012
@@ -10,11 +10,11 @@ import java.util.jar.*;
 import javax.naming.*;
 
 import aQute.bnd.maven.support.*;
+import aQute.bnd.osgi.*;
 import aQute.bnd.service.*;
 import aQute.bnd.service.action.*;
 import aQute.lib.deployer.*;
 import aQute.lib.io.*;
-import aQute.lib.osgi.*;
 import aQute.service.reporter.*;
 
 public class Workspace extends Processor {

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/WorkspaceRepository.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/WorkspaceRepository.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/WorkspaceRepository.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/WorkspaceRepository.java Mon Jul 16 13:43:38 2012
@@ -4,9 +4,8 @@ import java.io.*;
 import java.util.*;
 import java.util.regex.*;
 
+import aQute.bnd.osgi.*;
 import aQute.bnd.service.*;
-import aQute.lib.osgi.*;
-import aQute.libg.version.*;
 
 public class WorkspaceRepository implements RepositoryPlugin {
 	private final Workspace	workspace;

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/BndEditModel.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/BndEditModel.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/BndEditModel.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/BndEditModel.java Mon Jul 16 13:43:38 2012
@@ -5,15 +5,14 @@ import java.io.*;
 import java.util.*;
 import java.util.Map.Entry;
 
-import org.osgi.resource.Requirement;
+import org.osgi.resource.*;
 
 import aQute.bnd.build.model.clauses.*;
 import aQute.bnd.build.model.conversions.*;
-import aQute.lib.osgi.Constants;
-import aQute.lib.properties.*;
-import aQute.libg.header.*;
+import aQute.bnd.header.*;
+import aQute.bnd.osgi.*;
+import aQute.bnd.properties.*;
 import aQute.libg.tuple.*;
-import aQute.libg.version.Version;
 
 /**
  * A model for a Bnd file. In the first iteration, use a simple Properties
@@ -31,17 +30,17 @@ public class BndEditModel {
 
 	protected static String[]										KNOWN_PROPERTIES			= new String[] {
 			Constants.BUNDLE_SYMBOLICNAME, Constants.BUNDLE_VERSION, Constants.BUNDLE_ACTIVATOR,
-			Constants.EXPORT_PACKAGE, Constants.IMPORT_PACKAGE, aQute.lib.osgi.Constants.PRIVATE_PACKAGE,
-			aQute.lib.osgi.Constants.SOURCES,
-			aQute.lib.osgi.Constants.SERVICE_COMPONENT, aQute.lib.osgi.Constants.CLASSPATH,
-			aQute.lib.osgi.Constants.BUILDPATH, aQute.lib.osgi.Constants.BUILDPACKAGES,
-			aQute.lib.osgi.Constants.RUNBUNDLES, aQute.lib.osgi.Constants.RUNPROPERTIES, aQute.lib.osgi.Constants.SUB,
-			aQute.lib.osgi.Constants.RUNFRAMEWORK,
-			aQute.lib.osgi.Constants.RUNVM,
+			Constants.EXPORT_PACKAGE, Constants.IMPORT_PACKAGE, aQute.bnd.osgi.Constants.PRIVATE_PACKAGE,
+			aQute.bnd.osgi.Constants.SOURCES,
+			aQute.bnd.osgi.Constants.SERVICE_COMPONENT, aQute.bnd.osgi.Constants.CLASSPATH,
+			aQute.bnd.osgi.Constants.BUILDPATH, aQute.bnd.osgi.Constants.BUILDPACKAGES,
+			aQute.bnd.osgi.Constants.RUNBUNDLES, aQute.bnd.osgi.Constants.RUNPROPERTIES, aQute.bnd.osgi.Constants.SUB,
+			aQute.bnd.osgi.Constants.RUNFRAMEWORK,
+			aQute.bnd.osgi.Constants.RUNVM,
 			// BndConstants.RUNVMARGS,
 			// BndConstants.TESTSUITES,
-			aQute.lib.osgi.Constants.TESTCASES, aQute.lib.osgi.Constants.PLUGIN, aQute.lib.osgi.Constants.PLUGINPATH,
-			aQute.lib.osgi.Constants.RUNREPOS, aQute.lib.osgi.Constants.RUNREQUIRES, aQute.lib.osgi.Constants.RUNEE};
+			aQute.bnd.osgi.Constants.TESTCASES, aQute.bnd.osgi.Constants.PLUGIN, aQute.bnd.osgi.Constants.PLUGINPATH,
+			aQute.bnd.osgi.Constants.RUNREPOS, aQute.bnd.osgi.Constants.RUNREQUIRES, aQute.bnd.osgi.Constants.RUNEE};
 
 	public static final String										BUNDLE_VERSION_MACRO		= "${"
 																										+ Constants.BUNDLE_VERSION
@@ -166,7 +165,7 @@ public class BndEditModel {
 	protected Converter<String,EE>									eeFormatter					= new EEFormatter();
 	Converter<String,Collection< ? extends String>>					runReposFormatter			= new CollectionFormatter<String>(
 																										LIST_SEPARATOR,
-																										aQute.lib.osgi.Constants.EMPTY_HEADER);
+																										aQute.bnd.osgi.Constants.EMPTY_HEADER);
 
 	// Converter<String, ResolveMode> resolveModeFormatter =
 	// EnumFormatter.create(ResolveMode.class, ResolveMode.manual);
@@ -174,56 +173,56 @@ public class BndEditModel {
 	@SuppressWarnings("deprecation")
 	public BndEditModel() {
 		// register converters
-		converters.put(aQute.lib.osgi.Constants.BUILDPATH, buildPathConverter);
-		converters.put(aQute.lib.osgi.Constants.BUILDPACKAGES, buildPackagesConverter);
-		converters.put(aQute.lib.osgi.Constants.RUNBUNDLES, clauseListConverter);
+		converters.put(aQute.bnd.osgi.Constants.BUILDPATH, buildPathConverter);
+		converters.put(aQute.bnd.osgi.Constants.BUILDPACKAGES, buildPackagesConverter);
+		converters.put(aQute.bnd.osgi.Constants.RUNBUNDLES, clauseListConverter);
 		converters.put(Constants.BUNDLE_SYMBOLICNAME, stringConverter);
 		converters.put(Constants.BUNDLE_VERSION, stringConverter);
 		converters.put(Constants.BUNDLE_ACTIVATOR, stringConverter);
-		converters.put(aQute.lib.osgi.Constants.OUTPUT, stringConverter);
-		converters.put(aQute.lib.osgi.Constants.SOURCES, includedSourcesConverter);
-		converters.put(aQute.lib.osgi.Constants.PRIVATE_PACKAGE, listConverter);
-		converters.put(aQute.lib.osgi.Constants.CLASSPATH, listConverter);
+		converters.put(aQute.bnd.osgi.Constants.OUTPUT, stringConverter);
+		converters.put(aQute.bnd.osgi.Constants.SOURCES, includedSourcesConverter);
+		converters.put(aQute.bnd.osgi.Constants.PRIVATE_PACKAGE, listConverter);
+		converters.put(aQute.bnd.osgi.Constants.CLASSPATH, listConverter);
 		converters.put(Constants.EXPORT_PACKAGE, exportPackageConverter);
-		converters.put(aQute.lib.osgi.Constants.SERVICE_COMPONENT, serviceComponentConverter);
+		converters.put(aQute.bnd.osgi.Constants.SERVICE_COMPONENT, serviceComponentConverter);
 		converters.put(Constants.IMPORT_PACKAGE, importPatternConverter);
-		converters.put(aQute.lib.osgi.Constants.RUNFRAMEWORK, stringConverter);
-		converters.put(aQute.lib.osgi.Constants.SUB, listConverter);
-		converters.put(aQute.lib.osgi.Constants.RUNPROPERTIES, propertiesConverter);
-		converters.put(aQute.lib.osgi.Constants.RUNVM, stringConverter);
+		converters.put(aQute.bnd.osgi.Constants.RUNFRAMEWORK, stringConverter);
+		converters.put(aQute.bnd.osgi.Constants.SUB, listConverter);
+		converters.put(aQute.bnd.osgi.Constants.RUNPROPERTIES, propertiesConverter);
+		converters.put(aQute.bnd.osgi.Constants.RUNVM, stringConverter);
 		// converters.put(BndConstants.RUNVMARGS, stringConverter);
-		converters.put(aQute.lib.osgi.Constants.TESTSUITES, listConverter);
-		converters.put(aQute.lib.osgi.Constants.TESTCASES, listConverter);
-		converters.put(aQute.lib.osgi.Constants.PLUGIN, headerClauseListConverter);
-		converters.put(aQute.lib.osgi.Constants.RUNREQUIRES, requirementListConverter);
-		converters.put(aQute.lib.osgi.Constants.RUNEE, eeConverter);
-		converters.put(aQute.lib.osgi.Constants.RUNREPOS, listConverter);
+		converters.put(aQute.bnd.osgi.Constants.TESTSUITES, listConverter);
+		converters.put(aQute.bnd.osgi.Constants.TESTCASES, listConverter);
+		converters.put(aQute.bnd.osgi.Constants.PLUGIN, headerClauseListConverter);
+		converters.put(aQute.bnd.osgi.Constants.RUNREQUIRES, requirementListConverter);
+		converters.put(aQute.bnd.osgi.Constants.RUNEE, eeConverter);
+		converters.put(aQute.bnd.osgi.Constants.RUNREPOS, listConverter);
 		// converters.put(BndConstants.RESOLVE_MODE, resolveModeConverter);
 
-		formatters.put(aQute.lib.osgi.Constants.BUILDPATH, headerClauseListFormatter);
-		formatters.put(aQute.lib.osgi.Constants.BUILDPACKAGES, headerClauseListFormatter);
-		formatters.put(aQute.lib.osgi.Constants.RUNBUNDLES, headerClauseListFormatter);
+		formatters.put(aQute.bnd.osgi.Constants.BUILDPATH, headerClauseListFormatter);
+		formatters.put(aQute.bnd.osgi.Constants.BUILDPACKAGES, headerClauseListFormatter);
+		formatters.put(aQute.bnd.osgi.Constants.RUNBUNDLES, headerClauseListFormatter);
 		formatters.put(Constants.BUNDLE_SYMBOLICNAME, newlineEscapeFormatter);
 		formatters.put(Constants.BUNDLE_VERSION, newlineEscapeFormatter);
 		formatters.put(Constants.BUNDLE_ACTIVATOR, newlineEscapeFormatter);
-		formatters.put(aQute.lib.osgi.Constants.OUTPUT, newlineEscapeFormatter);
-		formatters.put(aQute.lib.osgi.Constants.SOURCES, defaultFalseBoolFormatter);
-		formatters.put(aQute.lib.osgi.Constants.PRIVATE_PACKAGE, stringListFormatter);
-		formatters.put(aQute.lib.osgi.Constants.CLASSPATH, stringListFormatter);
+		formatters.put(aQute.bnd.osgi.Constants.OUTPUT, newlineEscapeFormatter);
+		formatters.put(aQute.bnd.osgi.Constants.SOURCES, defaultFalseBoolFormatter);
+		formatters.put(aQute.bnd.osgi.Constants.PRIVATE_PACKAGE, stringListFormatter);
+		formatters.put(aQute.bnd.osgi.Constants.CLASSPATH, stringListFormatter);
 		formatters.put(Constants.EXPORT_PACKAGE, headerClauseListFormatter);
-		formatters.put(aQute.lib.osgi.Constants.SERVICE_COMPONENT, headerClauseListFormatter);
+		formatters.put(aQute.bnd.osgi.Constants.SERVICE_COMPONENT, headerClauseListFormatter);
 		formatters.put(Constants.IMPORT_PACKAGE, headerClauseListFormatter);
-		formatters.put(aQute.lib.osgi.Constants.RUNFRAMEWORK, newlineEscapeFormatter);
-		formatters.put(aQute.lib.osgi.Constants.SUB, stringListFormatter);
-		formatters.put(aQute.lib.osgi.Constants.RUNPROPERTIES, propertiesFormatter);
-		formatters.put(aQute.lib.osgi.Constants.RUNVM, newlineEscapeFormatter);
+		formatters.put(aQute.bnd.osgi.Constants.RUNFRAMEWORK, newlineEscapeFormatter);
+		formatters.put(aQute.bnd.osgi.Constants.SUB, stringListFormatter);
+		formatters.put(aQute.bnd.osgi.Constants.RUNPROPERTIES, propertiesFormatter);
+		formatters.put(aQute.bnd.osgi.Constants.RUNVM, newlineEscapeFormatter);
 		// formatters.put(BndConstants.RUNVMARGS, newlineEscapeFormatter);
 		// formatters.put(BndConstants.TESTSUITES, stringListFormatter);
-		formatters.put(aQute.lib.osgi.Constants.TESTCASES, stringListFormatter);
-		formatters.put(aQute.lib.osgi.Constants.PLUGIN, headerClauseListFormatter);
-		formatters.put(aQute.lib.osgi.Constants.RUNREQUIRES, requirementListFormatter);
-		formatters.put(aQute.lib.osgi.Constants.RUNEE, eeFormatter);
-		formatters.put(aQute.lib.osgi.Constants.RUNREPOS, runReposFormatter);
+		formatters.put(aQute.bnd.osgi.Constants.TESTCASES, stringListFormatter);
+		formatters.put(aQute.bnd.osgi.Constants.PLUGIN, headerClauseListFormatter);
+		formatters.put(aQute.bnd.osgi.Constants.RUNREQUIRES, requirementListFormatter);
+		formatters.put(aQute.bnd.osgi.Constants.RUNEE, eeFormatter);
+		formatters.put(aQute.bnd.osgi.Constants.RUNREPOS, runReposFormatter);
 		// formatters.put(BndConstants.RESOLVE_MODE, resolveModeFormatter);
 	}
 
@@ -373,42 +372,42 @@ public class BndEditModel {
 	}
 
 	public String getOutputFile() {
-		return doGetObject(aQute.lib.osgi.Constants.OUTPUT, stringConverter);
+		return doGetObject(aQute.bnd.osgi.Constants.OUTPUT, stringConverter);
 	}
 
 	public void setOutputFile(String name) {
-		doSetObject(aQute.lib.osgi.Constants.OUTPUT, getOutputFile(), name, newlineEscapeFormatter);
+		doSetObject(aQute.bnd.osgi.Constants.OUTPUT, getOutputFile(), name, newlineEscapeFormatter);
 	}
 
 	public boolean isIncludeSources() {
-		return doGetObject(aQute.lib.osgi.Constants.SOURCES, includedSourcesConverter);
+		return doGetObject(aQute.bnd.osgi.Constants.SOURCES, includedSourcesConverter);
 	}
 
 	public void setIncludeSources(boolean includeSources) {
 		boolean oldValue = isIncludeSources();
-		doSetObject(aQute.lib.osgi.Constants.SOURCES, oldValue, includeSources, defaultFalseBoolFormatter);
+		doSetObject(aQute.bnd.osgi.Constants.SOURCES, oldValue, includeSources, defaultFalseBoolFormatter);
 	}
 
 	public List<String> getPrivatePackages() {
-		return doGetObject(aQute.lib.osgi.Constants.PRIVATE_PACKAGE, listConverter);
+		return doGetObject(aQute.bnd.osgi.Constants.PRIVATE_PACKAGE, listConverter);
 	}
 
 	public void setPrivatePackages(List< ? extends String> packages) {
 		List<String> oldPackages = getPrivatePackages();
-		doSetObject(aQute.lib.osgi.Constants.PRIVATE_PACKAGE, oldPackages, packages, stringListFormatter);
+		doSetObject(aQute.bnd.osgi.Constants.PRIVATE_PACKAGE, oldPackages, packages, stringListFormatter);
 	}
 
 	public List<ExportedPackage> getSystemPackages() {
-		return doGetObject(aQute.lib.osgi.Constants.RUNSYSTEMPACKAGES, exportPackageConverter);
+		return doGetObject(aQute.bnd.osgi.Constants.RUNSYSTEMPACKAGES, exportPackageConverter);
 	}
 
 	public void setSystemPackages(List< ? extends ExportedPackage> packages) {
 		List<ExportedPackage> oldPackages = getSystemPackages();
-		doSetObject(aQute.lib.osgi.Constants.RUNSYSTEMPACKAGES, oldPackages, packages, headerClauseListFormatter);
+		doSetObject(aQute.bnd.osgi.Constants.RUNSYSTEMPACKAGES, oldPackages, packages, headerClauseListFormatter);
 	}
 
 	public List<String> getClassPath() {
-		return doGetObject(aQute.lib.osgi.Constants.CLASSPATH, listConverter);
+		return doGetObject(aQute.bnd.osgi.Constants.CLASSPATH, listConverter);
 	}
 
 	public void addPrivatePackage(String packageName) {
@@ -423,7 +422,7 @@ public class BndEditModel {
 
 	public void setClassPath(List< ? extends String> classPath) {
 		List<String> oldClassPath = getClassPath();
-		doSetObject(aQute.lib.osgi.Constants.CLASSPATH, oldClassPath, classPath, stringListFormatter);
+		doSetObject(aQute.bnd.osgi.Constants.CLASSPATH, oldClassPath, classPath, stringListFormatter);
 	}
 
 	public List<ExportedPackage> getExportedPackages() {
@@ -457,21 +456,21 @@ public class BndEditModel {
 	}
 
 	public List<String> getDSAnnotationPatterns() {
-		return doGetObject(aQute.lib.osgi.Constants.DSANNOTATIONS, listConverter);
+		return doGetObject(aQute.bnd.osgi.Constants.DSANNOTATIONS, listConverter);
 	}
 
 	public void setDSAnnotationPatterns(List< ? extends String> patterns) {
 		List<String> oldValue = getDSAnnotationPatterns();
-		doSetObject(aQute.lib.osgi.Constants.DSANNOTATIONS, oldValue, patterns, stringListFormatter);
+		doSetObject(aQute.bnd.osgi.Constants.DSANNOTATIONS, oldValue, patterns, stringListFormatter);
 	}
 
 	public List<ServiceComponent> getServiceComponents() {
-		return doGetObject(aQute.lib.osgi.Constants.SERVICE_COMPONENT, serviceComponentConverter);
+		return doGetObject(aQute.bnd.osgi.Constants.SERVICE_COMPONENT, serviceComponentConverter);
 	}
 
 	public void setServiceComponents(List< ? extends ServiceComponent> components) {
 		List<ServiceComponent> oldValue = getServiceComponents();
-		doSetObject(aQute.lib.osgi.Constants.SERVICE_COMPONENT, oldValue, components, headerClauseListFormatter);
+		doSetObject(aQute.bnd.osgi.Constants.SERVICE_COMPONENT, oldValue, components, headerClauseListFormatter);
 	}
 
 	public List<ImportPattern> getImportPatterns() {
@@ -484,30 +483,30 @@ public class BndEditModel {
 	}
 
 	public List<VersionedClause> getBuildPath() {
-		return doGetObject(aQute.lib.osgi.Constants.BUILDPATH, buildPathConverter);
+		return doGetObject(aQute.bnd.osgi.Constants.BUILDPATH, buildPathConverter);
 	}
 
 	public void setBuildPath(List< ? extends VersionedClause> paths) {
 		List<VersionedClause> oldValue = getBuildPath();
-		doSetObject(aQute.lib.osgi.Constants.BUILDPATH, oldValue, paths, headerClauseListFormatter);
+		doSetObject(aQute.bnd.osgi.Constants.BUILDPATH, oldValue, paths, headerClauseListFormatter);
 	}
 
 	public List<VersionedClause> getBuildPackages() {
-		return doGetObject(aQute.lib.osgi.Constants.BUILDPACKAGES, buildPackagesConverter);
+		return doGetObject(aQute.bnd.osgi.Constants.BUILDPACKAGES, buildPackagesConverter);
 	}
 
 	public void setBuildPackages(List< ? extends VersionedClause> paths) {
 		List<VersionedClause> oldValue = getBuildPackages();
-		doSetObject(aQute.lib.osgi.Constants.BUILDPACKAGES, oldValue, paths, headerClauseListFormatter);
+		doSetObject(aQute.bnd.osgi.Constants.BUILDPACKAGES, oldValue, paths, headerClauseListFormatter);
 	}
 
 	public List<VersionedClause> getRunBundles() {
-		return doGetObject(aQute.lib.osgi.Constants.RUNBUNDLES, clauseListConverter);
+		return doGetObject(aQute.bnd.osgi.Constants.RUNBUNDLES, clauseListConverter);
 	}
 
 	public void setRunBundles(List< ? extends VersionedClause> paths) {
 		List<VersionedClause> oldValue = getBuildPath();
-		doSetObject(aQute.lib.osgi.Constants.RUNBUNDLES, oldValue, paths, headerClauseListFormatter);
+		doSetObject(aQute.bnd.osgi.Constants.RUNBUNDLES, oldValue, paths, headerClauseListFormatter);
 	}
 
 	public boolean isIncludedPackage(String packageName) {
@@ -528,16 +527,16 @@ public class BndEditModel {
 	}
 
 	public List<String> getSubBndFiles() {
-		return doGetObject(aQute.lib.osgi.Constants.SUB, listConverter);
+		return doGetObject(aQute.bnd.osgi.Constants.SUB, listConverter);
 	}
 
 	public void setSubBndFiles(List<String> subBndFiles) {
 		List<String> oldValue = getSubBndFiles();
-		doSetObject(aQute.lib.osgi.Constants.SUB, oldValue, subBndFiles, stringListFormatter);
+		doSetObject(aQute.bnd.osgi.Constants.SUB, oldValue, subBndFiles, stringListFormatter);
 	}
 
 	public Map<String,String> getRunProperties() {
-		return doGetObject(aQute.lib.osgi.Constants.RUNPROPERTIES, propertiesConverter);
+		return doGetObject(aQute.bnd.osgi.Constants.RUNPROPERTIES, propertiesConverter);
 	}
 
 	/*
@@ -546,7 +545,7 @@ public class BndEditModel {
 	 */
 	public void setRunProperties(Map<String,String> props) {
 		Map<String,String> old = getRunProperties();
-		doSetObject(aQute.lib.osgi.Constants.RUNPROPERTIES, old, props, propertiesFormatter);
+		doSetObject(aQute.bnd.osgi.Constants.RUNPROPERTIES, old, props, propertiesFormatter);
 	}
 
 	/*
@@ -554,7 +553,7 @@ public class BndEditModel {
 	 * @see bndtools.editor.model.IBndModel#getRunVMArgs()
 	 */
 	public String getRunVMArgs() {
-		return doGetObject(aQute.lib.osgi.Constants.RUNVM, stringConverter);
+		return doGetObject(aQute.bnd.osgi.Constants.RUNVM, stringConverter);
 	}
 
 	/*
@@ -563,15 +562,15 @@ public class BndEditModel {
 	 */
 	public void setRunVMArgs(String args) {
 		String old = getRunVMArgs();
-		doSetObject(aQute.lib.osgi.Constants.RUNVM, old, args, newlineEscapeFormatter);
+		doSetObject(aQute.bnd.osgi.Constants.RUNVM, old, args, newlineEscapeFormatter);
 	}
 
 	@SuppressWarnings("deprecation")
 	public List<String> getTestSuites() {
-		List<String> testCases = doGetObject(aQute.lib.osgi.Constants.TESTCASES, listConverter);
+		List<String> testCases = doGetObject(aQute.bnd.osgi.Constants.TESTCASES, listConverter);
 		testCases = testCases != null ? testCases : Collections.<String> emptyList();
 
-		List<String> testSuites = doGetObject(aQute.lib.osgi.Constants.TESTSUITES, listConverter);
+		List<String> testSuites = doGetObject(aQute.bnd.osgi.Constants.TESTSUITES, listConverter);
 		testSuites = testSuites != null ? testSuites : Collections.<String> emptyList();
 
 		List<String> result = new ArrayList<String>(testCases.size() + testSuites.size());
@@ -583,63 +582,63 @@ public class BndEditModel {
 	@SuppressWarnings("deprecation")
 	public void setTestSuites(List<String> suites) {
 		List<String> old = getTestSuites();
-		doSetObject(aQute.lib.osgi.Constants.TESTCASES, old, suites, stringListFormatter);
-		doSetObject(aQute.lib.osgi.Constants.TESTSUITES, null, null, stringListFormatter);
+		doSetObject(aQute.bnd.osgi.Constants.TESTCASES, old, suites, stringListFormatter);
+		doSetObject(aQute.bnd.osgi.Constants.TESTSUITES, null, null, stringListFormatter);
 	}
 
 	public List<HeaderClause> getPlugins() {
-		return doGetObject(aQute.lib.osgi.Constants.PLUGIN, headerClauseListConverter);
+		return doGetObject(aQute.bnd.osgi.Constants.PLUGIN, headerClauseListConverter);
 	}
 
 	public void setPlugins(List<HeaderClause> plugins) {
 		List<HeaderClause> old = getPlugins();
-		doSetObject(aQute.lib.osgi.Constants.PLUGIN, old, plugins, headerClauseListFormatter);
+		doSetObject(aQute.bnd.osgi.Constants.PLUGIN, old, plugins, headerClauseListFormatter);
 	}
 
 	public List<String> getPluginPath() {
-		return doGetObject(aQute.lib.osgi.Constants.PLUGINPATH, listConverter);
+		return doGetObject(aQute.bnd.osgi.Constants.PLUGINPATH, listConverter);
 	}
 
 	public void setPluginPath(List<String> pluginPath) {
 		List<String> old = getPluginPath();
-		doSetObject(aQute.lib.osgi.Constants.PLUGINPATH, old, pluginPath, stringListFormatter);
+		doSetObject(aQute.bnd.osgi.Constants.PLUGINPATH, old, pluginPath, stringListFormatter);
 	}
 	
     public List<String> getRunRepos() {
-        return doGetObject(aQute.lib.osgi.Constants.RUNREPOS, listConverter);
+        return doGetObject(aQute.bnd.osgi.Constants.RUNREPOS, listConverter);
     }
 
     public void setRunRepos(List<String> repos) {
         List<String> old = getRunRepos();
-        doSetObject(aQute.lib.osgi.Constants.RUNREPOS, old, repos, runReposFormatter);
+        doSetObject(aQute.bnd.osgi.Constants.RUNREPOS, old, repos, runReposFormatter);
     }
     
     public String getRunFramework() {
-        return doGetObject(aQute.lib.osgi.Constants.RUNFRAMEWORK, stringConverter);
+        return doGetObject(aQute.bnd.osgi.Constants.RUNFRAMEWORK, stringConverter);
     }
 
     public EE getEE() {
-        return doGetObject(aQute.lib.osgi.Constants.RUNEE, eeConverter);
+        return doGetObject(aQute.bnd.osgi.Constants.RUNEE, eeConverter);
     }
 
     public void setEE(EE ee) {
         EE old = getEE();
-        doSetObject(aQute.lib.osgi.Constants.RUNEE, old, ee, eeFormatter);
+        doSetObject(aQute.bnd.osgi.Constants.RUNEE, old, ee, eeFormatter);
     }
 
     
     public void setRunFramework(String clause) {
         String oldValue = getRunFramework();
-        doSetObject(aQute.lib.osgi.Constants.RUNFRAMEWORK, oldValue, clause, newlineEscapeFormatter);
+        doSetObject(aQute.bnd.osgi.Constants.RUNFRAMEWORK, oldValue, clause, newlineEscapeFormatter);
     }
     
     public List<Requirement> getRunRequires() {
-    	return doGetObject(aQute.lib.osgi.Constants.RUNREQUIRES, requirementListConverter);
+    	return doGetObject(aQute.bnd.osgi.Constants.RUNREQUIRES, requirementListConverter);
     }
     
     public void setRunRequires(List<Requirement> requires) {
     	List<Requirement> oldValue = getRunRequires();
-    	doSetObject(aQute.lib.osgi.Constants.RUNREQUIRES, oldValue, requires, requirementListFormatter);
+    	doSetObject(aQute.bnd.osgi.Constants.RUNREQUIRES, oldValue, requires, requirementListFormatter);
     }
 
 

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ExportedPackage.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ExportedPackage.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ExportedPackage.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ExportedPackage.java Mon Jul 16 13:43:38 2012
@@ -1,8 +1,8 @@
 package aQute.bnd.build.model.clauses;
 
-import org.osgi.framework.Constants;
+import org.osgi.framework.*;
 
-import aQute.libg.header.Attrs;
+import aQute.bnd.header.*;
 
 public class ExportedPackage extends HeaderClause {
 
@@ -24,14 +24,14 @@ public class ExportedPackage extends Hea
 	}
 
 	public boolean isProvided() {
-		return Boolean.valueOf(attribs.get(aQute.lib.osgi.Constants.PROVIDE_DIRECTIVE));
+		return Boolean.valueOf(attribs.get(aQute.bnd.osgi.Constants.PROVIDE_DIRECTIVE));
 	}
 
 	public void setProvided(boolean provided) {
 		if (provided)
-			attribs.put(aQute.lib.osgi.Constants.PROVIDE_DIRECTIVE, Boolean.toString(true));
+			attribs.put(aQute.bnd.osgi.Constants.PROVIDE_DIRECTIVE, Boolean.toString(true));
 		else
-			attribs.remove(aQute.lib.osgi.Constants.PROVIDE_DIRECTIVE);
+			attribs.remove(aQute.bnd.osgi.Constants.PROVIDE_DIRECTIVE);
 	}
 
 	@Override

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/HeaderClause.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/HeaderClause.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/HeaderClause.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/HeaderClause.java Mon Jul 16 13:43:38 2012
@@ -1,17 +1,9 @@
 package aQute.bnd.build.model.clauses;
 
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Comparator;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.Map.Entry;
-import java.util.Set;
-import java.util.StringTokenizer;
-import java.util.TreeSet;
 
-import aQute.libg.header.Attrs;
+import aQute.bnd.header.*;
 
 public class HeaderClause implements Cloneable, Comparable<HeaderClause> {
 

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ImportPattern.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ImportPattern.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ImportPattern.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ImportPattern.java Mon Jul 16 13:43:38 2012
@@ -1,8 +1,8 @@
 package aQute.bnd.build.model.clauses;
 
-import org.osgi.framework.Constants;
+import org.osgi.framework.*;
 
-import aQute.libg.header.Attrs;
+import aQute.bnd.header.*;
 
 public class ImportPattern extends VersionedClause implements Cloneable {
 
@@ -11,15 +11,15 @@ public class ImportPattern extends Versi
 	}
 
 	public boolean isOptional() {
-		String resolution = attribs.get(aQute.lib.osgi.Constants.RESOLUTION_DIRECTIVE);
+		String resolution = attribs.get(aQute.bnd.osgi.Constants.RESOLUTION_DIRECTIVE);
 		return Constants.RESOLUTION_OPTIONAL.equals(resolution);
 	}
 
 	public void setOptional(boolean optional) {
 		if (optional)
-			attribs.put(aQute.lib.osgi.Constants.RESOLUTION_DIRECTIVE, Constants.RESOLUTION_OPTIONAL);
+			attribs.put(aQute.bnd.osgi.Constants.RESOLUTION_DIRECTIVE, Constants.RESOLUTION_OPTIONAL);
 		else
-			attribs.remove(aQute.lib.osgi.Constants.RESOLUTION_DIRECTIVE);
+			attribs.remove(aQute.bnd.osgi.Constants.RESOLUTION_DIRECTIVE);
 	}
 
 	@Override

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ServiceComponent.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ServiceComponent.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ServiceComponent.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/ServiceComponent.java Mon Jul 16 13:43:38 2012
@@ -1,17 +1,10 @@
 package aQute.bnd.build.model.clauses;
 
-import java.util.ArrayList;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 import java.util.Map.Entry;
-import java.util.Set;
-import java.util.regex.Matcher;
-import java.util.regex.Pattern;
+import java.util.regex.*;
 
-import aQute.libg.header.Attrs;
+import aQute.bnd.header.*;
 
 public class ServiceComponent extends HeaderClause implements Cloneable {
 

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/VersionedClause.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/VersionedClause.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/VersionedClause.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/clauses/VersionedClause.java Mon Jul 16 13:43:38 2012
@@ -1,8 +1,8 @@
 package aQute.bnd.build.model.clauses;
 
-import org.osgi.framework.Constants;
+import org.osgi.framework.*;
 
-import aQute.libg.header.Attrs;
+import aQute.bnd.header.*;
 
 public class VersionedClause extends HeaderClause implements Cloneable {
 	public VersionedClause(String name, Attrs attribs) {

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/ClauseListConverter.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/ClauseListConverter.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/ClauseListConverter.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/ClauseListConverter.java Mon Jul 16 13:43:38 2012
@@ -3,8 +3,8 @@ package aQute.bnd.build.model.conversion
 import java.util.*;
 import java.util.Map.Entry;
 
-import aQute.lib.osgi.*;
-import aQute.libg.header.*;
+import aQute.bnd.header.*;
+import aQute.bnd.osgi.*;
 import aQute.libg.tuple.*;
 
 public class ClauseListConverter<R> implements Converter<List<R>,String> {

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/EEConverter.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/EEConverter.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/EEConverter.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/EEConverter.java Mon Jul 16 13:43:38 2012
@@ -1,6 +1,6 @@
 package aQute.bnd.build.model.conversions;
 
-import aQute.bnd.build.model.EE;
+import aQute.bnd.build.model.*;
 
 public class EEConverter implements Converter<EE,String> {
 

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/EEFormatter.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/EEFormatter.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/EEFormatter.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/EEFormatter.java Mon Jul 16 13:43:38 2012
@@ -1,6 +1,6 @@
 package aQute.bnd.build.model.conversions;
 
-import aQute.bnd.build.model.EE;
+import aQute.bnd.build.model.*;
 
 public final class EEFormatter implements Converter<String,EE> {
 	public String convert(EE input) throws IllegalArgumentException {

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/HeaderClauseConverter.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/HeaderClauseConverter.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/HeaderClauseConverter.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/HeaderClauseConverter.java Mon Jul 16 13:43:38 2012
@@ -1,7 +1,7 @@
 package aQute.bnd.build.model.conversions;
 
 import aQute.bnd.build.model.clauses.*;
-import aQute.libg.header.*;
+import aQute.bnd.header.*;
 import aQute.libg.tuple.*;
 
 public class HeaderClauseConverter implements Converter<HeaderClause,Pair<String,Attrs>> {

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/PropertiesConverter.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/PropertiesConverter.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/PropertiesConverter.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/PropertiesConverter.java Mon Jul 16 13:43:38 2012
@@ -2,7 +2,7 @@ package aQute.bnd.build.model.conversion
 
 import java.util.*;
 
-import aQute.libg.header.*;
+import aQute.bnd.header.*;
 
 public class PropertiesConverter implements Converter<Map<String,String>,String> {
 

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/RequirementFormatter.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/RequirementFormatter.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/RequirementFormatter.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/RequirementFormatter.java Mon Jul 16 13:43:38 2012
@@ -2,7 +2,7 @@ package aQute.bnd.build.model.conversion
 
 import java.util.Map.Entry;
 
-import org.osgi.resource.Requirement;
+import org.osgi.resource.*;
 
 public class RequirementFormatter implements Converter<String,Requirement> {
 
@@ -12,11 +12,11 @@ public class RequirementFormatter implem
 		builder.append(req.getNamespace());
 		
 		for (Entry<String,String> directive : req.getDirectives().entrySet()) {
-			builder.append(';').append(directive.getKey()).append(":=").append(directive.getValue());
+			builder.append(';').append(directive.getKey()).append(":='").append(directive.getValue()).append('\'');
 		}
 		
 		for (Entry<String,Object> attribute : req.getAttributes().entrySet()) {
-			builder.append(';').append(attribute.getKey()).append("=").append(attribute.getValue());
+			builder.append(';').append(attribute.getKey()).append("='").append(attribute.getValue()).append('\'');
 		}
 		
 		return builder.toString();

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/RequirementListConverter.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/RequirementListConverter.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/RequirementListConverter.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/RequirementListConverter.java Mon Jul 16 13:43:38 2012
@@ -2,11 +2,11 @@ package aQute.bnd.build.model.conversion
 
 import java.util.Map.Entry;
 
-import org.osgi.resource.Requirement;
+import org.osgi.resource.*;
 
-import aQute.lib.osgi.resource.CapReqBuilder;
-import aQute.libg.header.Attrs;
-import aQute.libg.tuple.Pair;
+import aQute.bnd.header.*;
+import aQute.bnd.osgi.resource.*;
+import aQute.libg.tuple.*;
 
 public class RequirementListConverter extends ClauseListConverter<Requirement> {
 

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/SimpleListConverter.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/SimpleListConverter.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/SimpleListConverter.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/SimpleListConverter.java Mon Jul 16 13:43:38 2012
@@ -2,7 +2,7 @@ package aQute.bnd.build.model.conversion
 
 import java.util.*;
 
-import aQute.lib.osgi.*;
+import aQute.bnd.osgi.*;
 import aQute.libg.qtokens.*;
 
 public class SimpleListConverter<R> implements Converter<List<R>,String> {

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/VersionedClauseConverter.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/VersionedClauseConverter.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/VersionedClauseConverter.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/build/model/conversions/VersionedClauseConverter.java Mon Jul 16 13:43:38 2012
@@ -1,7 +1,7 @@
 package aQute.bnd.build.model.conversions;
 
 import aQute.bnd.build.model.clauses.*;
-import aQute.libg.header.*;
+import aQute.bnd.header.*;
 import aQute.libg.tuple.*;
 
 public class VersionedClauseConverter implements Converter<VersionedClause,Pair<String,Attrs>> {

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/compatibility/ParseSignatureBuilder.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/compatibility/ParseSignatureBuilder.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/compatibility/ParseSignatureBuilder.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/compatibility/ParseSignatureBuilder.java Mon Jul 16 13:43:38 2012
@@ -2,8 +2,8 @@ package aQute.bnd.compatibility;
 
 import java.io.*;
 
-import aQute.lib.osgi.*;
-import aQute.lib.osgi.Descriptors.TypeRef;
+import aQute.bnd.osgi.*;
+import aQute.bnd.osgi.Descriptors.TypeRef;
 
 public class ParseSignatureBuilder {
 	final Scope	root;

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/AnnotationReader.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/AnnotationReader.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/AnnotationReader.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/AnnotationReader.java Mon Jul 16 13:43:38 2012
@@ -6,11 +6,10 @@ import java.util.regex.*;
 
 import org.osgi.service.component.annotations.*;
 
+import aQute.bnd.osgi.*;
+import aQute.bnd.osgi.Clazz.MethodDef;
+import aQute.bnd.osgi.Descriptors.TypeRef;
 import aQute.lib.collections.*;
-import aQute.lib.osgi.*;
-import aQute.lib.osgi.Clazz.MethodDef;
-import aQute.lib.osgi.Descriptors.TypeRef;
-import aQute.libg.version.*;
 
 /**
  * fixup any unbind methods To declare no unbind method, the value "-" must be
@@ -27,7 +26,7 @@ import aQute.libg.version.*;
 public class AnnotationReader extends ClassDataCollector {
 	final static TypeRef[]		EMPTY					= new TypeRef[0];
 	final static Pattern		PROPERTY_PATTERN		= Pattern
-																.compile("([^=]+(:(Boolean|Byte|Char|Short|Integer|Long|Float|Double|String))?)\\s*=(.*)");
+																.compile("\\s*([^=]+(\\s*:\\s*(Boolean|Byte|Char|Short|Integer|Long|Float|Double|String))?)\\s*=(.*)");
 
 	public static final Version	V1_1					= new Version("1.1.0");																												// "1.1.0"
 	public static final Version	V1_2					= new Version("1.2.0");																												// "1.1.0"

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/ComponentDef.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/ComponentDef.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/ComponentDef.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/ComponentDef.java Mon Jul 16 13:43:38 2012
@@ -5,11 +5,10 @@ import java.util.*;
 
 import org.osgi.service.component.annotations.*;
 
+import aQute.bnd.osgi.*;
+import aQute.bnd.osgi.Descriptors.TypeRef;
 import aQute.lib.collections.*;
-import aQute.lib.osgi.*;
-import aQute.lib.osgi.Descriptors.TypeRef;
 import aQute.lib.tag.*;
-import aQute.libg.version.*;
 
 /**
  * This class just holds the information for the component, implementation, and

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/DSAnnotations.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/DSAnnotations.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/DSAnnotations.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/DSAnnotations.java Mon Jul 16 13:43:38 2012
@@ -2,9 +2,9 @@ package aQute.bnd.component;
 
 import java.util.*;
 
+import aQute.bnd.header.*;
+import aQute.bnd.osgi.*;
 import aQute.bnd.service.*;
-import aQute.lib.osgi.*;
-import aQute.libg.header.*;
 
 /**
  * Analyze the class space for any classes that have an OSGi annotation for DS.

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/ReferenceDef.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/ReferenceDef.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/ReferenceDef.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/component/ReferenceDef.java Mon Jul 16 13:43:38 2012
@@ -2,9 +2,8 @@ package aQute.bnd.component;
 
 import org.osgi.service.component.annotations.*;
 
-import aQute.lib.osgi.*;
+import aQute.bnd.osgi.*;
 import aQute.lib.tag.*;
-import aQute.libg.version.*;
 
 /**
  * Holds the information in the reference element.

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/Baseline.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/Baseline.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/Baseline.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/Baseline.java Mon Jul 16 13:43:38 2012
@@ -4,12 +4,11 @@ import java.io.*;
 import java.util.*;
 import java.util.jar.*;
 
+import aQute.bnd.header.*;
+import aQute.bnd.osgi.*;
 import aQute.bnd.service.diff.*;
 import aQute.bnd.service.diff.Diff.Ignore;
-import aQute.lib.osgi.*;
 import aQute.libg.generics.*;
-import aQute.libg.header.*;
-import aQute.libg.version.*;
 import aQute.service.reporter.*;
 
 /**

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/DiffPluginImpl.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/DiffPluginImpl.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/DiffPluginImpl.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/DiffPluginImpl.java Mon Jul 16 13:43:38 2012
@@ -6,13 +6,13 @@ import java.io.*;
 import java.util.*;
 import java.util.jar.*;
 
+import aQute.bnd.header.*;
+import aQute.bnd.osgi.*;
 import aQute.bnd.service.diff.*;
 import aQute.bnd.service.diff.Tree.Data;
 import aQute.lib.hex.*;
 import aQute.lib.io.*;
-import aQute.lib.osgi.*;
 import aQute.libg.cryptography.*;
-import aQute.libg.header.*;
 
 /**
  * This Diff Plugin Implementation will compare JARs for their API (based on the
@@ -120,7 +120,7 @@ public class DiffPluginImpl implements D
 				Digester<SHA1> digester = SHA1.getDigester();
 				IO.copy(in, digester);
 				String value = Hex.toHexString(digester.digest().digest());
-				resources.add(new Element(Type.RESOURCE, entry.getKey() + "=" + value, null, CHANGED, CHANGED, null));
+				resources.add(new Element(Type.RESOURCE, entry.getKey(), Arrays.asList(new Element(Type.SHA,value)), CHANGED, CHANGED, null));
 			}
 			finally {
 				in.close();

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/JavaElement.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/JavaElement.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/JavaElement.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/JavaElement.java Mon Jul 16 13:43:38 2012
@@ -11,17 +11,17 @@ import java.util.concurrent.atomic.*;
 import java.util.jar.*;
 
 import aQute.bnd.annotation.*;
+import aQute.bnd.header.*;
+import aQute.bnd.osgi.*;
+import aQute.bnd.osgi.Clazz.JAVA;
+import aQute.bnd.osgi.Clazz.MethodDef;
+import aQute.bnd.osgi.Descriptors.PackageRef;
+import aQute.bnd.osgi.Descriptors.TypeRef;
+import aQute.bnd.osgi.Version;
 import aQute.bnd.service.diff.*;
 import aQute.bnd.service.diff.Type;
 import aQute.lib.collections.*;
-import aQute.lib.osgi.*;
-import aQute.lib.osgi.Clazz.JAVA;
-import aQute.lib.osgi.Clazz.MethodDef;
-import aQute.lib.osgi.Descriptors.PackageRef;
-import aQute.lib.osgi.Descriptors.TypeRef;
 import aQute.libg.generics.*;
-import aQute.libg.header.*;
-import aQute.libg.version.Version;
 
 /**
  * An element that compares the access field in a binary compatible way. This

Modified: felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/RepositoryElement.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/RepositoryElement.java?rev=1362033&r1=1362032&r2=1362033&view=diff
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/RepositoryElement.java (original)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/differ/RepositoryElement.java Mon Jul 16 13:43:38 2012
@@ -2,9 +2,9 @@ package aQute.bnd.differ;
 
 import java.util.*;
 
+import aQute.bnd.osgi.*;
 import aQute.bnd.service.*;
 import aQute.bnd.service.diff.*;
-import aQute.libg.version.*;
 
 public class RepositoryElement {
 

Added: felix/trunk/bundleplugin/src/main/java/aQute/bnd/filerepo/FileRepo.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/filerepo/FileRepo.java?rev=1362033&view=auto
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/filerepo/FileRepo.java (added)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/filerepo/FileRepo.java Mon Jul 16 13:43:38 2012
@@ -0,0 +1,107 @@
+package aQute.bnd.filerepo;
+
+import java.io.*;
+import java.util.*;
+import java.util.regex.*;
+
+import aQute.bnd.osgi.*;
+
+public class FileRepo {
+	File	root;
+	Pattern	REPO_FILE	= Pattern.compile("([-a-zA-z0-9_\\.]+)-([0-9\\.]+|latest)\\.(jar|lib)");
+
+	public FileRepo(File root) {
+		this.root = root;
+	}
+
+	/**
+	 * Get a list of URLs to bundles that are constrained by the bsn and
+	 * versionRange.
+	 */
+	public File[] get(String bsn, final VersionRange versionRange) throws Exception {
+
+		//
+		// Check if the entry exists
+		//
+		File f = new File(root, bsn);
+		if (!f.isDirectory())
+			return null;
+
+		//
+		// Iterator over all the versions for this BSN.
+		// Create a sorted map over the version as key
+		// and the file as URL as value. Only versions
+		// that match the desired range are included in
+		// this list.
+		//
+		return f.listFiles(new FilenameFilter() {
+			public boolean accept(File dir, String name) {
+				Matcher m = REPO_FILE.matcher(name);
+				if (!m.matches())
+					return false;
+				if (versionRange == null)
+					return true;
+
+				Version v = new Version(m.group(2));
+				return versionRange.includes(v);
+			}
+		});
+	}
+
+	public List<String> list(String regex) throws Exception {
+		if (regex == null)
+			regex = ".*";
+		final Pattern pattern = Pattern.compile(regex);
+
+		String list[] = root.list(new FilenameFilter() {
+
+			public boolean accept(File dir, String name) {
+				Matcher matcher = pattern.matcher(name);
+				return matcher.matches();
+			}
+
+		});
+		return Arrays.asList(list);
+	}
+
+	public List<Version> versions(String bsn) throws Exception {
+		File dir = new File(root, bsn);
+		final List<Version> versions = new ArrayList<Version>();
+		dir.list(new FilenameFilter() {
+
+			public boolean accept(File dir, String name) {
+				Matcher m = REPO_FILE.matcher(name);
+				if (m.matches()) {
+					versions.add(new Version(m.group(2)));
+					return true;
+				}
+				return false;
+			}
+
+		});
+		return versions;
+	}
+
+	public File get(String bsn, VersionRange range, int strategy) throws Exception {
+		File[] files = get(bsn, range);
+		if (files == null || files.length == 0)
+			return null;
+
+		if (files.length == 1)
+			return files[0];
+
+		if (strategy < 0) {
+			return files[0];
+		}
+		return files[files.length - 1];
+	}
+
+	public File put(String bsn, Version version) {
+		File dir = new File(root, bsn);
+		dir.mkdirs();
+		File file = new File(dir, bsn + "-" + version.getMajor() + "." + version.getMinor() + "." + version.getMicro()
+				+ ".jar");
+		return file;
+	}
+
+}

Propchange: felix/trunk/bundleplugin/src/main/java/aQute/bnd/filerepo/FileRepo.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: felix/trunk/bundleplugin/src/main/java/aQute/bnd/filerepo/FileRepo.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: felix/trunk/bundleplugin/src/main/java/aQute/bnd/filerepo/packageinfo
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/filerepo/packageinfo?rev=1362033&view=auto
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/filerepo/packageinfo (added)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/filerepo/packageinfo Mon Jul 16 13:43:38 2012
@@ -0,0 +1 @@
+version 1.0

Added: felix/trunk/bundleplugin/src/main/java/aQute/bnd/header/Attrs.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/header/Attrs.java?rev=1362033&view=auto
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/header/Attrs.java (added)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/header/Attrs.java Mon Jul 16 13:43:38 2012
@@ -0,0 +1,312 @@
+package aQute.bnd.header;
+
+import java.util.*;
+import java.util.regex.*;
+
+import aQute.bnd.osgi.*;
+import aQute.lib.collections.*;
+
+public class Attrs implements Map<String,String> {
+	public enum Type {
+		STRING(null), LONG(null), VERSION(null), DOUBLE(null), STRINGS(STRING), LONGS(LONG), VERSIONS(VERSION), DOUBLES(
+				DOUBLE);
+
+		Type	sub;
+
+		Type(Type sub) {
+			this.sub = sub;
+		}
+
+	}
+
+	/**
+	 * <pre>
+	 * Provide-Capability ::= capability ::=
+	 * name-space ::= typed-attr ::= type ::= scalar ::=
+	 * capability ( ',' capability )*
+	 * name-space
+	 *     ( ’;’ directive | typed-attr )*
+	 * symbolic-name
+	 * extended ( ’:’ type ) ’=’ argument
+	 * scalar | list
+	 * ’String’ | ’Version’ | ’Long’
+	 * list ::=
+	 * ’List<’ scalar ’>’
+	 * </pre>
+	 */
+	static String							EXTENDED	= "[\\-0-9a-zA-Z\\._]+";
+	static String							SCALAR		= "String|Version|Long|Double";
+	static String							LIST		= "List\\s*<\\s*(" + SCALAR + ")\\s*>";
+	public static final Pattern				TYPED		= Pattern.compile("\\s*(" + EXTENDED + ")\\s*:\\s*(" + SCALAR
+																+ "|" + LIST + ")\\s*");
+
+	private LinkedHashMap<String,String>	map;
+	private Map<String,Type>				types;
+	static Map<String,String>				EMPTY		= Collections.emptyMap();
+
+	public Attrs(Attrs... attrs) {
+		for (Attrs a : attrs) {
+			if (a != null) {
+				putAll(a);
+			}
+		}
+	}
+
+	public void clear() {
+		map.clear();
+	}
+
+	public boolean containsKey(String name) {
+		if (map == null)
+			return false;
+
+		return map.containsKey(name);
+	}
+
+	@SuppressWarnings("cast")
+	@Deprecated
+	public boolean containsKey(Object name) {
+		assert name instanceof String;
+		if (map == null)
+			return false;
+
+		return map.containsKey((String) name);
+	}
+
+	public boolean containsValue(String value) {
+		if (map == null)
+			return false;
+
+		return map.containsValue(value);
+	}
+
+	@SuppressWarnings("cast")
+	@Deprecated
+	public boolean containsValue(Object value) {
+		assert value instanceof String;
+		if (map == null)
+			return false;
+
+		return map.containsValue((String) value);
+	}
+
+	public Set<java.util.Map.Entry<String,String>> entrySet() {
+		if (map == null)
+			return EMPTY.entrySet();
+
+		return map.entrySet();
+	}
+
+	@SuppressWarnings("cast")
+	@Deprecated
+	public String get(Object key) {
+		assert key instanceof String;
+		if (map == null)
+			return null;
+
+		return map.get((String) key);
+	}
+
+	public String get(String key) {
+		if (map == null)
+			return null;
+
+		return map.get(key);
+	}
+
+	public String get(String key, String deflt) {
+		String s = get(key);
+		if (s == null)
+			return deflt;
+		return s;
+	}
+
+	public boolean isEmpty() {
+		return map == null || map.isEmpty();
+	}
+
+	public Set<String> keySet() {
+		if (map == null)
+			return EMPTY.keySet();
+
+		return map.keySet();
+	}
+
+	public String put(String key, String value) {
+		if (map == null)
+			map = new LinkedHashMap<String,String>();
+
+		Matcher m = TYPED.matcher(key);
+		if (m.matches()) {
+			key = m.group(1);
+			String type = m.group(2);
+			Type t = Type.STRING;
+
+			if (type.startsWith("List")) {
+				type = m.group(3);
+				if ("String".equals(type))
+					t = Type.STRINGS;
+				else if ("Long".equals(type))
+					t = Type.LONGS;
+				else if ("Double".equals(type))
+					t = Type.DOUBLES;
+				else if ("Version".equals(type))
+					t = Type.VERSIONS;
+			} else {
+				if ("String".equals(type))
+					t = Type.STRING;
+				else if ("Long".equals(type))
+					t = Type.LONG;
+				else if ("Double".equals(type))
+					t = Type.DOUBLE;
+				else if ("Version".equals(type))
+					t = Type.VERSION;
+			}
+			if (types == null)
+				types = new LinkedHashMap<String,Type>();
+			types.put(key, t);
+
+			// TODO verify value?
+		}
+
+		return map.put(key, value);
+	}
+
+	public Type getType(String key) {
+		if (types == null)
+			return Type.STRING;
+		Type t = types.get(key);
+		if (t == null)
+			return Type.STRING;
+		return t;
+	}
+
+	public void putAll(Map< ? extends String, ? extends String> map) {
+		for (Map.Entry< ? extends String, ? extends String> e : map.entrySet())
+			put(e.getKey(), e.getValue());
+	}
+
+	@SuppressWarnings("cast")
+	@Deprecated
+	public String remove(Object var0) {
+		assert var0 instanceof String;
+		if (map == null)
+			return null;
+
+		return map.remove((String) var0);
+	}
+
+	public String remove(String var0) {
+		if (map == null)
+			return null;
+		return map.remove(var0);
+	}
+
+	public int size() {
+		if (map == null)
+			return 0;
+		return map.size();
+	}
+
+	public Collection<String> values() {
+		if (map == null)
+			return EMPTY.values();
+
+		return map.values();
+	}
+
+	public String getVersion() {
+		return get("version");
+	}
+
+	public String toString() {
+		StringBuilder sb = new StringBuilder();
+		append(sb);
+		return sb.toString();
+	}
+
+	public void append(StringBuilder sb) {
+		String del = "";
+		for (Map.Entry<String,String> e : entrySet()) {
+			sb.append(del);
+			sb.append(e.getKey());
+			sb.append("=");
+			sb.append(e.getValue());
+			del = ";";
+		}
+	}
+
+	@Deprecated
+	public boolean equals(Object other) {
+		return super.equals(other);
+	}
+
+	@Deprecated
+	public int hashCode() {
+		return super.hashCode();
+	}
+
+	public boolean isEqual(Attrs o) {
+		if (this == o)
+			return true;
+
+		Attrs other = o;
+
+		if (size() != other.size())
+			return false;
+
+		if (isEmpty())
+			return true;
+
+		SortedList<String> l = new SortedList<String>(keySet());
+		SortedList<String> lo = new SortedList<String>(other.keySet());
+		if (!l.isEqual(lo))
+			return false;
+
+		for (String key : keySet()) {
+			if (!get(key).equals(other.get(key)))
+				return false;
+		}
+		return true;
+
+	}
+
+	public Object getTyped(String adname) {
+		String s = get(adname);
+		if (s == null)
+			return null;
+
+		Type t = getType(adname);
+		return convert(t, s);
+	}
+
+	private Object convert(Type t, String s) {
+		if (t.sub == null) {
+			switch (t) {
+				case STRING :
+					return s;
+				case LONG :
+					return Long.parseLong(s.trim());
+				case VERSION :
+					return Version.parseVersion(s);
+				case DOUBLE :
+					return Double.parseDouble(s.trim());
+					
+				case DOUBLES :
+				case LONGS :
+				case STRINGS :
+				case VERSIONS :
+					// Cannot happen since the sub is null
+					return null;
+			}
+			return null;
+		}
+		List<Object> list = new ArrayList<Object>();
+		String split[] = s.split("\\s*\\(\\?!\\),\\s*");
+		for (String p : split) {
+			p = p.replaceAll("\\\\", "");
+			list.add(convert(t.sub, p));
+		}
+		return list;
+	}
+}

Propchange: felix/trunk/bundleplugin/src/main/java/aQute/bnd/header/Attrs.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: felix/trunk/bundleplugin/src/main/java/aQute/bnd/header/Attrs.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision

Added: felix/trunk/bundleplugin/src/main/java/aQute/bnd/header/OSGiHeader.java
URL: http://svn.apache.org/viewvc/felix/trunk/bundleplugin/src/main/java/aQute/bnd/header/OSGiHeader.java?rev=1362033&view=auto
==============================================================================
--- felix/trunk/bundleplugin/src/main/java/aQute/bnd/header/OSGiHeader.java (added)
+++ felix/trunk/bundleplugin/src/main/java/aQute/bnd/header/OSGiHeader.java Mon Jul 16 13:43:38 2012
@@ -0,0 +1,134 @@
+package aQute.bnd.header;
+
+import java.util.*;
+
+import aQute.libg.generics.*;
+import aQute.libg.qtokens.*;
+import aQute.service.reporter.*;
+
+public class OSGiHeader {
+
+	static public Parameters parseHeader(String value) {
+		return parseHeader(value, null);
+	}
+
+	/**
+	 * Standard OSGi header parser. This parser can handle the format clauses
+	 * ::= clause ( ',' clause ) + clause ::= name ( ';' name ) (';' key '='
+	 * value ) This is mapped to a Map { name => Map { attr|directive => value }
+	 * }
+	 * 
+	 * @param value
+	 *            A string
+	 * @return a Map<String,Map<String,String>>
+	 */
+	static public Parameters parseHeader(String value, Reporter logger) {
+		return parseHeader(value, logger, new Parameters());
+	}
+
+	static public Parameters parseHeader(String value, Reporter logger, Parameters result) {
+		if (value == null || value.trim().length() == 0)
+			return result;
+
+		QuotedTokenizer qt = new QuotedTokenizer(value, ";=,");
+		char del = 0;
+		do {
+			boolean hadAttribute = false;
+			Attrs clause = new Attrs();
+			List<String> aliases = Create.list();
+			String name = qt.nextToken(",;");
+
+			del = qt.getSeparator();
+			if (name == null || name.length() == 0) {
+				if (logger != null && logger.isPedantic()) {
+					logger.warning("Empty clause, usually caused by repeating a comma without any name field or by having spaces after the backslash of a property file: "
+							+ value);
+				}
+				if (name == null)
+					break;
+			} else {
+				name = name.trim();
+
+				aliases.add(name);
+				while (del == ';') {
+					String adname = qt.nextToken();
+					if ((del = qt.getSeparator()) != '=') {
+						if (hadAttribute)
+							if (logger != null) {
+								logger.error("Header contains name field after attribute or directive: " + adname
+										+ " from " + value
+										+ ". Name fields must be consecutive, separated by a ';' like a;b;c;x=3;y=4");
+							}
+						if (adname != null && adname.length() > 0)
+							aliases.add(adname.trim());
+					} else {
+						String advalue = qt.nextToken();
+						if (clause.containsKey(adname)) {
+							if (logger != null && logger.isPedantic())
+								logger.warning("Duplicate attribute/directive name " + adname + " in " + value
+										+ ". This attribute/directive will be ignored");
+						}
+						if (advalue == null) {
+							if (logger != null)
+								logger.error("No value after '=' sign for attribute " + adname);
+							advalue = "";
+						}
+						clause.put(adname.trim(), advalue.trim());
+						del = qt.getSeparator();
+						hadAttribute = true;
+					}
+				}
+
+				// Check for duplicate names. The aliases list contains
+				// the list of nams, for each check if it exists. If so,
+				// add a number of "~" to make it unique.
+				for (String clauseName : aliases) {
+					if (result.containsKey(clauseName)) {
+						if (logger != null && logger.isPedantic())
+							logger.warning("Duplicate name "
+									+ clauseName
+									+ " used in header: '"
+									+ clauseName
+									+ "'. Duplicate names are specially marked in Bnd with a ~ at the end (which is stripped at printing time).");
+						while (result.containsKey(clauseName))
+							clauseName += "~";
+					}
+					result.put(clauseName, clause);
+				}
+			}
+		} while (del == ',');
+		return result;
+	}
+
+	public static Attrs parseProperties(String input) {
+		return parseProperties(input, null);
+	}
+
+	public static Attrs parseProperties(String input, Reporter logger) {
+		if (input == null || input.trim().length() == 0)
+			return new Attrs();
+
+		Attrs result = new Attrs();
+		QuotedTokenizer qt = new QuotedTokenizer(input, "=,");
+		char del = ',';
+
+		while (del == ',') {
+			String key = qt.nextToken(",=");
+			String value = "";
+			del = qt.getSeparator();
+			if (del == '=') {
+				value = qt.nextToken(",=");
+				del = qt.getSeparator();
+			}
+			result.put(key, value);
+		}
+		if (del != 0) {
+			if (logger == null)
+				throw new IllegalArgumentException("Invalid syntax for properties: " + input);
+			logger.error("Invalid syntax for properties: " + input);
+		}
+
+		return result;
+	}
+
+}

Propchange: felix/trunk/bundleplugin/src/main/java/aQute/bnd/header/OSGiHeader.java
------------------------------------------------------------------------------
    svn:eol-style = native

Propchange: felix/trunk/bundleplugin/src/main/java/aQute/bnd/header/OSGiHeader.java
------------------------------------------------------------------------------
    svn:executable = *

Propchange: felix/trunk/bundleplugin/src/main/java/aQute/bnd/header/OSGiHeader.java
------------------------------------------------------------------------------
    svn:keywords = Author Date Id Revision



Mime
View raw message