Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'bundles')
-rw-r--r--bundles/org.eclipse.equinox.frameworkadmin.equinox/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.core.prefs37
-rw-r--r--bundles/org.eclipse.equinox.frameworkadmin.equinox/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.frameworkadmin.equinox/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.frameworkadmin.test/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.frameworkadmin.test/META-INF/MANIFEST.MF7
-rw-r--r--bundles/org.eclipse.equinox.frameworkadmin.test/pom.xml20
-rw-r--r--bundles/org.eclipse.equinox.frameworkadmin/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.core.prefs37
-rw-r--r--bundles/org.eclipse.equinox.frameworkadmin/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.frameworkadmin/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle/.settings/org.eclipse.jdt.core.prefs10
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.optimizers/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.jdt.core.prefs37
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.optimizers/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.optimizers/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Application.java7
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Messages.java9
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Optimizer.java7
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Pack200OptimizerStep.java6
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.processors/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.jdt.core.prefs38
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.processors/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.processors/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.repository/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.repository/META-INF/MANIFEST.MF11
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.repository/plugin.xml6
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.repository/pom.xml15
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pack200/Pack200ProcessorStep.java5
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pgp/Messages.java32
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pgp/PGPSignatureVerifier.java203
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pgp/messages.properties14
-rw-r--r--bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java19
-rw-r--r--bundles/org.eclipse.equinox.p2.console/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.p2.console/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.console/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.core/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.p2.core/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.core/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/CollectionUtils.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarFile.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.director.app/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.director.app/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.director/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.core.prefs38
-rw-r--r--bundles/org.eclipse.equinox.p2.director/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.director/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/OptimizationFunction.java3
-rw-r--r--bundles/org.eclipse.equinox.p2.directorywatcher/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.p2.directorywatcher/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.directorywatcher/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.discovery.compatibility/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.discovery.compatibility/META-INF/MANIFEST.MF2
-rw-r--r--bundles/org.eclipse.equinox.p2.discovery.compatibility/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.discovery/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.discovery/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.p2.discovery/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.discovery/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.engine/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.p2.engine/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.engine/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/DownloadManager.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SimpleProfileRegistry.java1
-rw-r--r--bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/spi/Memento.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.extensionlocation/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.p2.extensionlocation/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.extensionlocation/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.garbagecollector/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.garbagecollector/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.p2.garbagecollector/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.garbagecollector/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.installer/META-INF/MANIFEST.MF2
-rw-r--r--bundles/org.eclipse.equinox.p2.installer/installer.product4
-rw-r--r--bundles/org.eclipse.equinox.p2.installer/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.jarprocessor/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.p2.jarprocessor/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.jarprocessor/forceQualifierUpdate.txt4
-rw-r--r--bundles/org.eclipse.equinox.p2.jarprocessor/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Main.java15
-rw-r--r--bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackStep.java36
-rw-r--r--bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackUnpackStep.java7
-rw-r--r--bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/UnpackStep.java14
-rw-r--r--bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Utils.java180
-rw-r--r--bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/ZipProcessor.java31
-rw-r--r--bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/Verifier.java24
-rw-r--r--bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessor.java96
-rw-r--r--bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessorExecutor.java32
-rw-r--r--bundles/org.eclipse.equinox.p2.jarprocessor/src_ant/org/eclipse/equinox/internal/p2/jarprocessor/ant/JarProcessorTask.java16
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata.repository/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata.repository/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata.repository/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java15
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/expression/Member.java127
-rw-r--r--bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/query/Collector.java48
-rw-r--r--bundles/org.eclipse.equinox.p2.operations/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.operations/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.p2.operations/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.operations/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher.eclipse/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher.eclipse/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher.eclipse/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher.eclipse/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/internal/p2/publisher/compatibility/IGeneratorConstants.java7
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/internal/p2/publisher/eclipse/BrandingIron.java46
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/internal/p2/publisher/eclipse/ExecutablesDescriptor.java14
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java1
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/EquinoxExecutableAction.java4
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/pde/internal/swt/tools/IconExe.java249
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher.eclipse/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/AbstractPublishTask.java29
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractPublisherAction.java244
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractPublisherApplication.java78
-rw-r--r--bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/Publisher.java167
-rw-r--r--bundles/org.eclipse.equinox.p2.reconciler.dropins/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.reconciler.dropins/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.repository.tools/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.repository.tools/.settings/org.eclipse.jdt.core.prefs38
-rw-r--r--bundles/org.eclipse.equinox.p2.repository.tools/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.repository.tools/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/java/ClassFileReader.java13
-rw-r--r--bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/Mirroring.java80
-rw-r--r--bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RecreateRepositoryApplication.java18
-rw-r--r--bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/ProcessRepoTask.java10
-rw-r--r--bundles/org.eclipse.equinox.p2.repository/META-INF/MANIFEST.MF2
-rw-r--r--bundles/org.eclipse.equinox.p2.repository/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/CacheManager.java26
-rw-r--r--bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/AbstractRepositoryManager.java4
-rw-r--r--bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactDescriptor.java47
-rw-r--r--bundles/org.eclipse.equinox.p2.sar/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.sar/.settings/org.eclipse.jdt.core.prefs38
-rw-r--r--bundles/org.eclipse.equinox.p2.sar/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.sar/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.tests.discovery/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.tests.discovery/.settings/org.eclipse.jdt.core.prefs38
-rw-r--r--bundles/org.eclipse.equinox.p2.tests.discovery/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.tests.discovery/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.tests.optimizers/pom.xml2
-rw-r--r--bundles/org.eclipse.equinox.p2.tests.reconciler.product/pom.xml2
-rw-r--r--bundles/org.eclipse.equinox.p2.tests.reconciler.product/reconciler.product1
-rw-r--r--bundles/org.eclipse.equinox.p2.tests.ui/All p2 UI tests.launch14
-rw-r--r--bundles/org.eclipse.equinox.p2.tests.ui/META-INF/MANIFEST.MF2
-rw-r--r--bundles/org.eclipse.equinox.p2.tests.ui/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.tests.verifier/pom.xml2
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/META-INF/MANIFEST.MF2
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/Repo2RunnableTaskTests.java10
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/AllTests.java3
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/PGPSignatureVerifierTest.java111
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/Pack200ProcessorTest.java10
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/private_signer1.pgp84
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/private_signer2.pgp84
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/public_signer1.pgp41
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/public_signer2.pgp41
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/signed_by_signer_114
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/signed_by_signer_1_otherArtifact14
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/signed_by_signer_1_tampered14
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/signed_by_signer_214
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/testArtifact1
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/AllTests.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/PGPTest.java61
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/SimpleArtifactRepositoryTest.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepHandlerTest.java3
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/gc/GCCleanTest.java6
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/jarprocessor/JarProcessorTests.java10
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/ArtifactMirrorApplicationTest.java5
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/NewMirrorApplicationArtifactTest.java1
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AbsolutePlanTest.java1
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java1
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/UpdateSiteTest.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/artifacts.xml2
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/content.xml6
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/plugins/org.eclipse.equinox.common_3.15.0.v20210428-1632.jarbin0 -> 142656 bytes
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/plugins/org.eclipse.equinox.common_3.5.0.corrupted.jarbin98786 -> 0 bytes
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/artifacts.xml36
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/content.xml49
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/plugins/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/plugins/blah_1.0.0.123456.jarbin0 -> 408 bytes
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/plugins/blah_1.0.0.123456.jar.asc14
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/artifacts.xml16
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/content.xml49
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/plugins/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/plugins/blah_1.0.0.123456.jarbin0 -> 408 bytes
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/plugins/blah_1.0.0.123456.jar.asc14
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/artifacts.xml78
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/content.xml49
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/plugins/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/plugins/blah_1.0.0.123456.jarbin0 -> 408 bytes
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/plugins/blah_1.0.0.123456.jar.asc14
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/artifacts.xml78
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/content.xml49
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/plugins/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/plugins/blah_1.0.0.123456.jarbin0 -> 408 bytes
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/plugins/blah_1.0.0.123456.jar.asc14
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoTamperedInvalidSignature/artifacts.xml78
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoTamperedInvalidSignature/content.xml49
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoTamperedInvalidSignature/plugins/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoTamperedInvalidSignature/plugins/blah_1.0.0.123456.jarbin0 -> 408 bytes
-rw-r--r--bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoTamperedInvalidSignature/plugins/blah_1.0.0.123456.jar.asc14
-rw-r--r--bundles/org.eclipse.equinox.p2.testserver/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.testserver/.settings/org.eclipse.jdt.core.prefs38
-rw-r--r--bundles/org.eclipse.equinox.p2.testserver/META-INF/MANIFEST.MF6
-rw-r--r--bundles/org.eclipse.equinox.p2.testserver/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.touchpoint.eclipse/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.p2.touchpoint.eclipse/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.touchpoint.eclipse/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.touchpoint.natives/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.touchpoint.natives/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.p2.touchpoint.natives/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.touchpoint.natives/META-INF/p2.inf4
-rw-r--r--bundles/org.eclipse.equinox.p2.touchpoint.natives/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/CleanupcopyAction.java9
-rw-r--r--bundles/org.eclipse.equinox.p2.touchpoint.natives/src/org/eclipse/equinox/internal/p2/touchpoint/natives/actions/CopyAction.java47
-rw-r--r--bundles/org.eclipse.equinox.p2.transport.ecf/META-INF/MANIFEST.MF2
-rw-r--r--bundles/org.eclipse.equinox.p2.transport.ecf/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.transport.ecf/src/org/eclipse/equinox/internal/p2/transport/ecf/RepositoryTransport.java12
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.admin.rcp/META-INF/MANIFEST.MF2
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.admin.rcp/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.admin.rcp/rcp.product4
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.admin/pom.xml2
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.discovery/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.discovery/.settings/.api_filters11
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.discovery/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.discovery/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.discovery/src/org/eclipse/equinox/internal/p2/ui/discovery/wizards/CatalogViewer.java2
-rwxr-xr-xbundles/org.eclipse.equinox.p2.ui.importexport/META-INF/MANIFEST.MF3
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.importexport/forceQualifierUpdate.txt1
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.importexport/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.importexport/src/org/eclipse/equinox/internal/p2/importexport/internal/ImportExportActivator.java33
-rwxr-xr-xbundles/org.eclipse.equinox.p2.ui.importexport/src/org/eclipse/equinox/internal/p2/importexport/internal/wizard/ExportWizard.java16
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.importexport/src/org/eclipse/equinox/internal/p2/importexport/internal/wizard/ImportFromInstallationWizard.java17
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.importexport/src/org/eclipse/equinox/internal/p2/importexport/internal/wizard/ImportWizard.java37
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/META-INF/MANIFEST.MF2
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.sdk.scheduler/src/org/eclipse/equinox/internal/p2/ui/sdk/scheduler/PreviousConfigurationFinder.java5
-rw-r--r--bundles/org.eclipse.equinox.p2.ui.sdk/pom.xml2
-rw-r--r--bundles/org.eclipse.equinox.p2.ui/META-INF/MANIFEST.MF2
-rw-r--r--bundles/org.eclipse.equinox.p2.ui/forceQualifierUpdate.txt1
-rw-r--r--bundles/org.eclipse.equinox.p2.ui/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/ProvUIMessages.java1
-rw-r--r--bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/dialogs/TrustCertificateDialog.java78
-rw-r--r--bundles/org.eclipse.equinox.p2.ui/src/org/eclipse/equinox/internal/p2/ui/messages.properties3
-rw-r--r--bundles/org.eclipse.equinox.p2.updatechecker/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.updatechecker/.settings/org.eclipse.jdt.core.prefs12
-rw-r--r--bundles/org.eclipse.equinox.p2.updatechecker/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.updatechecker/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/DefaultSiteParser.java668
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteModel.java41
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/SiteXMLAction.java2
-rw-r--r--bundles/org.eclipse.equinox.p2.updatesite/src/org/eclipse/equinox/internal/p2/updatesite/artifact/UpdateSiteArtifactRepositoryFactory.java23
-rw-r--r--bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.simpleconfigurator.manipulator/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.simpleconfigurator.manipulator/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.simpleconfigurator.manipulator/pom.xml4
-rw-r--r--bundles/org.eclipse.equinox.simpleconfigurator/.classpath2
-rw-r--r--bundles/org.eclipse.equinox.simpleconfigurator/.settings/org.eclipse.jdt.core.prefs13
-rw-r--r--bundles/org.eclipse.equinox.simpleconfigurator/META-INF/MANIFEST.MF4
-rw-r--r--bundles/org.eclipse.equinox.simpleconfigurator/pom.xml4
285 files changed, 3727 insertions, 1572 deletions
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.classpath b/bundles/org.eclipse.equinox.frameworkadmin.equinox/.classpath
index eca7bdba8..e801ebfb4 100644
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.classpath
+++ b/bundles/org.eclipse.equinox.frameworkadmin.equinox/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.core.prefs
index e90eac15c..1819d992f 100644
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.frameworkadmin.equinox/.settings/org.eclipse.jdt.core.prefs
@@ -17,9 +17,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -36,6 +36,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -89,6 +90,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -125,9 +127,11 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
@@ -135,20 +139,23 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
@@ -238,11 +245,12 @@ org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
@@ -273,6 +281,8 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -297,13 +307,17 @@ org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
@@ -351,6 +365,8 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do no
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -387,9 +403,12 @@ org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not inser
org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -425,10 +444,14 @@ org.eclipse.jdt.core.formatter.tabulation.char=tab
org.eclipse.jdt.core.formatter.tabulation.size=4
org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
org.eclipse.jdt.core.incompatibleJDKLevel=ignore
org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.frameworkadmin.equinox/META-INF/MANIFEST.MF
index fbd1d84fd..4a87a87e3 100644
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.frameworkadmin.equinox/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.frameworkadmin.equinox;singleton:=true
-Bundle-Version: 1.1.400.qualifier
+Bundle-Version: 1.2.0.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Import-Package: org.eclipse.equinox.frameworkadmin;version="[2.0.0,3.0.0)",
@@ -21,7 +21,7 @@ Import-Package: org.eclipse.equinox.frameworkadmin;version="[2.0.0,3.0.0)",
Export-Package: org.eclipse.equinox.internal.frameworkadmin.equinox;x-friends:="org.eclipse.equinox.p2.publisher,org.eclipse.equinox.p2.publisher.eclipse,org.eclipse.equinox.simpleconfigurator.manipulator",
org.eclipse.equinox.internal.frameworkadmin.equinox.utils;x-friends:="org.eclipse.equinox.p2.publisher.eclipse"
Require-Bundle: org.eclipse.equinox.common
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Service-Component: OSGI-INF/fwadmin.xml
Bundle-ActivationPolicy: lazy
Automatic-Module-Name: org.eclipse.equinox.frameworkadmin.equinox
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.equinox/pom.xml b/bundles/org.eclipse.equinox.frameworkadmin.equinox/pom.xml
index b00a46e4b..34ab5d80e 100644
--- a/bundles/org.eclipse.equinox.frameworkadmin.equinox/pom.xml
+++ b/bundles/org.eclipse.equinox.frameworkadmin.equinox/pom.xml
@@ -4,11 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.frameworkadmin.equinox</artifactId>
- <version>1.1.400-SNAPSHOT</version>
+ <version>1.2.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/.classpath b/bundles/org.eclipse.equinox.frameworkadmin.test/.classpath
index eca7bdba8..e801ebfb4 100644
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/.classpath
+++ b/bundles/org.eclipse.equinox.frameworkadmin.test/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.jdt.core.prefs
index 1794e8d27..d3982a2b0 100644
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.frameworkadmin.test/.settings/org.eclipse.jdt.core.prefs
@@ -17,9 +17,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -35,6 +35,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=ignore
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -88,6 +89,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -123,7 +125,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -137,7 +140,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
@@ -258,7 +260,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
@@ -329,7 +330,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -474,7 +474,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.frameworkadmin.test/META-INF/MANIFEST.MF
index f9edb43dd..0cb1f4139 100644
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.frameworkadmin.test/META-INF/MANIFEST.MF
@@ -2,16 +2,17 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.equinox.frameworkadmin.test
-Bundle-Version: 1.2.500.qualifier
+Bundle-Version: 1.3.0.qualifier
Bundle-Vendor: %Bundle-Vendor
Require-Bundle: org.eclipse.core.runtime,
org.eclipse.equinox.frameworkadmin,
org.eclipse.equinox.frameworkadmin.equinox;bundle-version="1.0.100",
- org.junit;bundle-version="3.8.0"
+ org.junit;bundle-version="3.8.0",
+ org.eclipse.equinox.simpleconfigurator.manipulator
Bundle-Activator: org.eclipse.equinox.frameworkadmin.tests.Activator
Import-Package: org.osgi.framework;version="1.4.0"
Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Export-Package: org.eclipse.equinox.frameworkadmin.tests
Eclipse-BundleShape: dir
Automatic-Module-Name: org.eclipse.equinox.frameworkadmin.test
diff --git a/bundles/org.eclipse.equinox.frameworkadmin.test/pom.xml b/bundles/org.eclipse.equinox.frameworkadmin.test/pom.xml
index fc670fa39..2c5063967 100644
--- a/bundles/org.eclipse.equinox.frameworkadmin.test/pom.xml
+++ b/bundles/org.eclipse.equinox.frameworkadmin.test/pom.xml
@@ -4,11 +4,25 @@
<parent>
<artifactId>org.eclipse.equinox.p2.tests-parent</artifactId>
<groupId>org.eclipse</groupId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../../org.eclipse.equinox.p2.releng/org.eclipse.equinox.p2.tests-parent</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.frameworkadmin.test</artifactId>
- <version>1.2.500-SNAPSHOT</version>
- <packaging>eclipse-plugin</packaging>
+ <version>1.3.0-SNAPSHOT</version>
+ <packaging>eclipse-test-plugin</packaging>
+
+ <build>
+ <plugins>
+ <plugin>
+ <groupId>org.eclipse.tycho</groupId>
+ <artifactId>tycho-surefire-plugin</artifactId>
+ <version>${tycho.version}</version>
+ <configuration>
+ <!-- Test execution not compatible with Tycho at the moment -->
+ <skipTests>true</skipTests>
+ </configuration>
+ </plugin>
+ </plugins>
+ </build>
</project>
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/.classpath b/bundles/org.eclipse.equinox.frameworkadmin/.classpath
index eca7bdba8..e801ebfb4 100644
--- a/bundles/org.eclipse.equinox.frameworkadmin/.classpath
+++ b/bundles/org.eclipse.equinox.frameworkadmin/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.core.prefs
index f0018a393..579521550 100644
--- a/bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.frameworkadmin/.settings/org.eclipse.jdt.core.prefs
@@ -10,9 +10,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -27,6 +27,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=disabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -84,6 +85,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -119,9 +121,11 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
@@ -129,20 +133,23 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=0
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
@@ -232,11 +239,12 @@ org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
@@ -267,6 +275,8 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -291,13 +301,17 @@ org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
@@ -345,6 +359,8 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do no
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -381,9 +397,12 @@ org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not inser
org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -419,9 +438,13 @@ org.eclipse.jdt.core.formatter.tabulation.char=tab
org.eclipse.jdt.core.formatter.tabulation.size=4
org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
org.eclipse.jdt.core.javaFormatter=org.eclipse.jdt.core.defaultJavaFormatter
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.frameworkadmin/META-INF/MANIFEST.MF
index 1d86ec3b2..d4bb7cb5e 100644
--- a/bundles/org.eclipse.equinox.frameworkadmin/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.frameworkadmin/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.frameworkadmin;singleton:=true
-Bundle-Version: 2.1.400.qualifier
+Bundle-Version: 2.2.0.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Import-Package: org.eclipse.osgi.service.pluginconversion;version="1.0.0",
@@ -23,7 +23,7 @@ Export-Package: org.eclipse.equinox.frameworkadmin;version="2.0.0",
org.eclipse.pde.core,
org.eclipse.pde.ui,
org.eclipse.equinox.p2.publisher.eclipse"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Require-Bundle: org.eclipse.equinox.common;bundle-version="3.4.0"
Bundle-ActivationPolicy: lazy
Automatic-Module-Name: org.eclipse.equinox.frameworkadmin
diff --git a/bundles/org.eclipse.equinox.frameworkadmin/pom.xml b/bundles/org.eclipse.equinox.frameworkadmin/pom.xml
index 80b5866a0..b50d0425d 100644
--- a/bundles/org.eclipse.equinox.frameworkadmin/pom.xml
+++ b/bundles/org.eclipse.equinox.frameworkadmin/pom.xml
@@ -4,11 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.frameworkadmin</artifactId>
- <version>2.1.400-SNAPSHOT</version>
+ <version>2.2.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle/.classpath b/bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle/.classpath
index 6de27b66c..bc3587db4 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle/.classpath
+++ b/bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
<classpathentry kind="output" path="bin"/>
</classpath>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle/.settings/org.eclipse.jdt.core.prefs
new file mode 100644
index 000000000..7adc0fb9a
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle/.settings/org.eclipse.jdt.core.prefs
@@ -0,0 +1,10 @@
+eclipse.preferences.version=1
+org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
+org.eclipse.jdt.core.compiler.compliance=11
+org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
+org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
diff --git a/bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle/META-INF/MANIFEST.MF
index 28688b977..b123fba15 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle/META-INF/MANIFEST.MF
@@ -2,10 +2,10 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.artifact.checksums.bouncycastle;singleton:=true
-Bundle-Version: 1.0.0.qualifier
+Bundle-Version: 1.1.0.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.equinox.p2.artifact.repository;bundle-version="[1.3.200,2.0.0)"
Import-Package: org.bouncycastle.jce.provider;version="[1.59.0,2.0.0)"
diff --git a/bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle/pom.xml b/bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle/pom.xml
index 1e6c17c63..85bf793c4 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.artifact.checksums.bouncycastle/pom.xml
@@ -4,11 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.artifact.checksums.bouncycastle</artifactId>
- <version>1.0.0-SNAPSHOT</version>
+ <version>1.1.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/.classpath b/bundles/org.eclipse.equinox.p2.artifact.optimizers/.classpath
index eca7bdba8..e801ebfb4 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/.classpath
+++ b/bundles/org.eclipse.equinox.p2.artifact.optimizers/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.jdt.core.prefs
index 01dc9cade..6b5625424 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.artifact.optimizers/.settings/org.eclipse.jdt.core.prefs
@@ -17,9 +17,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nul
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -36,6 +36,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=error
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -94,6 +95,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -130,9 +132,11 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
@@ -140,20 +144,23 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
@@ -245,11 +252,12 @@ org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
@@ -280,6 +288,8 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -304,13 +314,17 @@ org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
@@ -358,6 +372,8 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do no
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -394,9 +410,12 @@ org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not inser
org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -432,10 +451,14 @@ org.eclipse.jdt.core.formatter.tabulation.char=tab
org.eclipse.jdt.core.formatter.tabulation.size=4
org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
org.eclipse.jdt.core.incompatibleJDKLevel=ignore
org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.artifact.optimizers/META-INF/MANIFEST.MF
index 5450fecb1..c2f216314 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.artifact.optimizers/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.artifact.optimizers;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
Bundle-Activator: org.eclipse.equinox.internal.p2.artifact.optimizers.Activator
Bundle-Vendor: %providerName
Bundle-Localization: plugin
@@ -11,7 +11,7 @@ Export-Package: org.eclipse.equinox.internal.p2.artifact.optimizers;x-friends:="
org.eclipse.equinox.internal.p2.artifact.optimizers.pack200;x-internal:=true
Require-Bundle: org.eclipse.equinox.common,
org.eclipse.equinox.p2.artifact.repository
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.equinox.app;version="1.0.0",
org.eclipse.equinox.internal.p2.core.helpers,
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/pom.xml b/bundles/org.eclipse.equinox.p2.artifact.optimizers/pom.xml
index 047df807f..51a6e060d 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.artifact.optimizers/pom.xml
@@ -4,12 +4,12 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.artifact.optimizers</artifactId>
- <version>1.1.0-SNAPSHOT</version>
+ <version>1.2.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Application.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Application.java
index 695202da5..0fcaab754 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Application.java
+++ b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Application.java
@@ -22,6 +22,13 @@ import org.eclipse.equinox.p2.core.ProvisionException;
import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
+/**
+ * @noextend This class is not intended to be subclassed by clients.
+ * @noreference This class is not intended to be referenced by clients.
+ *
+ * @deprecated See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a> for details.
+ */
+@Deprecated(forRemoval = true, since = "1.2.0")
public class Application extends OptimizerApplication {
// Application return code
private static final Integer NON_WRITTABLE_REPOSITORY = -1;
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Messages.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Messages.java
index 6865a727e..24437eb3a 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Messages.java
+++ b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Messages.java
@@ -8,13 +8,20 @@
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
- *
+ *
* Contributors: IBM Corporation - initial API and implementation
******************************************************************************/
package org.eclipse.equinox.internal.p2.artifact.optimizers.pack200;
import org.eclipse.osgi.util.NLS;
+/**
+ * @noextend This class is not intended to be subclassed by clients.
+ * @noreference This class is not intended to be referenced by clients.
+ *
+ * @deprecated See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a> for details.
+ */
+@Deprecated(forRemoval = true, since = "1.2.0")
public class Messages extends NLS {
private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.artifact.optimizers.pack200.messages"; //$NON-NLS-1$
public static String failed_getting_artifact;
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Optimizer.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Optimizer.java
index 096885e07..8038c450d 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Optimizer.java
+++ b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Optimizer.java
@@ -27,6 +27,13 @@ import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
import org.eclipse.equinox.p2.repository.artifact.spi.ProcessingStepDescriptor;
import org.eclipse.osgi.util.NLS;
+/**
+ * @noextend This class is not intended to be subclassed by clients.
+ * @noreference This class is not intended to be referenced by clients.
+ * @noinstantiate This class is not intended to be instantiated by clients.
+ * @deprecated See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a> for details.
+ */
+@Deprecated(forRemoval = true, since = "1.2.0")
public class Optimizer {
private final IArtifactRepository repository;
diff --git a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Pack200OptimizerStep.java b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Pack200OptimizerStep.java
index f36f9b9df..e4937fa48 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Pack200OptimizerStep.java
+++ b/bundles/org.eclipse.equinox.p2.artifact.optimizers/src/org/eclipse/equinox/internal/p2/artifact/optimizers/pack200/Pack200OptimizerStep.java
@@ -26,7 +26,13 @@ import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExec
/**
* The Pack200Packer expects an input containing normal ".jar" data.
+ *
+ * @noextend This class is not intended to be subclassed by clients.
+ * @noinstantiate This class is not intended to be instantiated by clients.
+ * @noreference This class is not intended to be referenced by clients.
+ * @deprecated See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a> for details.
*/
+@Deprecated(forRemoval = true, since = "1.2.0")
public class Pack200OptimizerStep extends AbstractBufferingStep {
private static final String PACKED_SUFFIX = ".pack.gz"; //$NON-NLS-1$
private File incoming;
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/.classpath b/bundles/org.eclipse.equinox.p2.artifact.processors/.classpath
index eca7bdba8..e801ebfb4 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/.classpath
+++ b/bundles/org.eclipse.equinox.p2.artifact.processors/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.jdt.core.prefs
index 0eaaba2e8..9dab61dd4 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.artifact.processors/.settings/org.eclipse.jdt.core.prefs
@@ -18,9 +18,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -37,6 +37,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=error
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -90,6 +91,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -126,10 +128,11 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
@@ -137,20 +140,23 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
@@ -242,11 +248,12 @@ org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
@@ -277,6 +284,8 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -301,13 +310,17 @@ org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
@@ -355,6 +368,8 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do no
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -391,9 +406,12 @@ org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not inser
org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -429,10 +447,14 @@ org.eclipse.jdt.core.formatter.tabulation.char=tab
org.eclipse.jdt.core.formatter.tabulation.size=4
org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
org.eclipse.jdt.core.incompatibleJDKLevel=ignore
org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.artifact.processors/META-INF/MANIFEST.MF
index 6e8b9b149..785bd915d 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.artifact.processors/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.artifact.processors;singleton:=true
-Bundle-Version: 1.1.0.qualifier
+Bundle-Version: 1.2.0.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Export-Package: org.eclipse.equinox.internal.p2.artifact.processors;x-internal:=true,
org.eclipse.equinox.internal.p2.artifact.processors.jardelta;x-internal:=true
Require-Bundle: org.eclipse.equinox.common,
org.eclipse.equinox.p2.artifact.repository
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.equinox.internal.p2.artifact.optimizers,
org.eclipse.equinox.internal.p2.core.helpers,
diff --git a/bundles/org.eclipse.equinox.p2.artifact.processors/pom.xml b/bundles/org.eclipse.equinox.p2.artifact.processors/pom.xml
index f0205f68b..1c7332670 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.processors/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.artifact.processors/pom.xml
@@ -4,12 +4,12 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.artifact.processors</artifactId>
- <version>1.1.0-SNAPSHOT</version>
+ <version>1.2.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/.classpath b/bundles/org.eclipse.equinox.p2.artifact.repository/.classpath
index eca7bdba8..e801ebfb4 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/.classpath
+++ b/bundles/org.eclipse.equinox.p2.artifact.repository/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.core.prefs
index 75bfd5011..f015e9f64 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.artifact.repository/.settings/org.eclipse.jdt.core.prefs
@@ -17,9 +17,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -35,6 +35,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=error
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -88,6 +89,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -123,7 +125,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -137,7 +140,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
@@ -258,7 +260,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
@@ -329,7 +330,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -474,7 +474,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.artifact.repository/META-INF/MANIFEST.MF
index a4e478736..6c49a76b0 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.artifact.repository/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.artifact.repository;singleton:=true
-Bundle-Version: 1.4.0.qualifier
+Bundle-Version: 1.4.100.qualifier
Bundle-Activator: org.eclipse.equinox.internal.p2.artifact.repository.Activator
Bundle-Vendor: %providerName
Bundle-Localization: plugin
@@ -10,6 +10,7 @@ Export-Package: org.eclipse.equinox.internal.p2.artifact.processing;x-friends:="
org.eclipse.equinox.internal.p2.artifact.processors.checksum;x-friends:="org.eclipse.equinox.p2.publisher",
org.eclipse.equinox.internal.p2.artifact.processors.md5;x-internal:=true,
org.eclipse.equinox.internal.p2.artifact.processors.pack200;x-friends:="org.eclipse.equinox.p2.artifact.processors,org.eclipse.equinox.p2.artifact.optimizers",
+ org.eclipse.equinox.internal.p2.artifact.processors.pgp;x-internal:=true,
org.eclipse.equinox.internal.p2.artifact.repository;
x-friends:="org.eclipse.equinox.p2.publisher,
org.eclipse.equinox.p2.reconciler.dropins,
@@ -37,6 +38,14 @@ Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.7.0,4.0.0)",
org.eclipse.equinox.p2.metadata,
org.tukaani.xz;bundle-version="1.3.0"
Import-Package: javax.xml.parsers,
+ org.bouncycastle.bcpg;version="1.65.0",
+ org.bouncycastle.jce.provider;version="1.65.1",
+ org.bouncycastle.openpgp;version="1.65.0",
+ org.bouncycastle.openpgp.bc;version="1.65.0",
+ org.bouncycastle.openpgp.jcajce;version="1.65.0",
+ org.bouncycastle.openpgp.operator;version="1.65.0",
+ org.bouncycastle.openpgp.operator.bc;version="1.65.0",
+ org.bouncycastle.openpgp.operator.jcajce;version="1.65.0",
org.eclipse.core.runtime.jobs,
org.eclipse.equinox.internal.p2.core.helpers,
org.eclipse.equinox.internal.p2.jarprocessor,
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/plugin.xml b/bundles/org.eclipse.equinox.p2.artifact.repository/plugin.xml
index bf5778333..879eace3b 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/plugin.xml
+++ b/bundles/org.eclipse.equinox.p2.artifact.repository/plugin.xml
@@ -52,4 +52,10 @@
id="sha-256">
</artifactChecksum>
</extension>
+
+ <extension
+ id="org.eclipse.equinox.p2.processing.PGPSignatureCheck"
+ point="org.eclipse.equinox.p2.artifact.repository.processingSteps">
+ <step class="org.eclipse.equinox.internal.p2.artifact.processors.pgp.PGPSignatureVerifier"/>
+ </extension>
</plugin>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/pom.xml b/bundles/org.eclipse.equinox.p2.artifact.repository/pom.xml
index f20d0f75f..fb755613b 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.artifact.repository/pom.xml
@@ -4,22 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.artifact.repository</artifactId>
- <version>1.4.0-SNAPSHOT</version>
+ <version>1.4.100-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
- <profiles>
- <profile>
- <id>jdk9-or-newer</id>
- <activation>
- <jdk>[9,)</jdk>
- </activation>
- <properties>
- <maven.compiler.release>8</maven.compiler.release>
- </properties>
- </profile>
- </profiles>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pack200/Pack200ProcessorStep.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pack200/Pack200ProcessorStep.java
index 9d85ac7ac..81089af71 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pack200/Pack200ProcessorStep.java
+++ b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pack200/Pack200ProcessorStep.java
@@ -32,7 +32,12 @@ import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExec
/**
* The Pack200Unpacker expects an input containing ".jar.pack.gz" data.
+ * @noinstantiate This class is not intended to be instantiated by clients.
+ * @noextend This class is not intended to be subclassed by clients.
+ * @noreference This class is not intended to be referenced by clients.
+ * @deprecated See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a> for details.
*/
+@Deprecated(forRemoval = true, since = "1.4.100")
public class Pack200ProcessorStep extends AbstractBufferingStep {
public static final String PACKED_SUFFIX = ".pack.gz"; //$NON-NLS-1$
private static boolean detailedResult = false;
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pgp/Messages.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pgp/Messages.java
new file mode 100644
index 000000000..4ae7cc402
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pgp/Messages.java
@@ -0,0 +1,32 @@
+/*******************************************************************************
+ * Copyright (c) 2021 Red Hat Inc. and others
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.artifact.processors.pgp;
+
+import org.eclipse.osgi.util.NLS;
+
+public class Messages extends NLS {
+ private static final String BUNDLE_NAME = "org.eclipse.equinox.internal.p2.artifact.processors.pgp.messages"; //$NON-NLS-1$
+
+ public static String Error_SignatureAndFileDontMatch;
+
+ public static String Error_CouldNotLoadSignature;
+
+ public static String Error_publicKeyNotFound;
+
+ static {
+ // initialize resource bundle
+ NLS.initializeMessages(BUNDLE_NAME, Messages.class);
+ }
+
+ private Messages() {
+ //empty
+ }
+}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pgp/PGPSignatureVerifier.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pgp/PGPSignatureVerifier.java
new file mode 100644
index 000000000..e81fc0e43
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pgp/PGPSignatureVerifier.java
@@ -0,0 +1,203 @@
+/*******************************************************************************
+ * Copyright (c) 2021 Red Hat Inc. and others.
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *******************************************************************************/
+package org.eclipse.equinox.internal.p2.artifact.processors.pgp;
+
+import java.io.*;
+import java.util.*;
+import org.bouncycastle.bcpg.ArmoredInputStream;
+import org.bouncycastle.jce.provider.BouncyCastleProvider;
+import org.bouncycastle.openpgp.*;
+import org.bouncycastle.openpgp.jcajce.JcaPGPObjectFactory;
+import org.bouncycastle.openpgp.jcajce.JcaPGPPublicKeyRingCollection;
+import org.bouncycastle.openpgp.operator.jcajce.JcaPGPContentVerifierBuilderProvider;
+import org.eclipse.core.runtime.*;
+import org.eclipse.equinox.internal.p2.artifact.repository.Activator;
+import org.eclipse.equinox.internal.p2.core.helpers.LogHelper;
+import org.eclipse.equinox.internal.provisional.p2.artifact.repository.processing.ProcessingStep;
+import org.eclipse.equinox.p2.core.IProvisioningAgent;
+import org.eclipse.equinox.p2.repository.artifact.*;
+import org.eclipse.osgi.util.NLS;
+
+/**
+ * This processing step verifies PGP signatures are correct (ie artifact was not
+ * tampered during fetch). Note that is does <b>not</b> deal with trust. Dealing
+ * with trusted signers is done as part of CheckTrust touchpoint and phase.
+ */
+public final class PGPSignatureVerifier extends ProcessingStep {
+
+ /**
+ * ID of the registering
+ * <code>org.eclipse.equinox.p2.artifact.repository.processingSteps</tt>
+ * extension.
+ */
+ public static final String ID = "org.eclipse.equinox.p2.processing.PGPSignatureCheck"; //$NON-NLS-1$
+
+ public static final String PGP_SIGNER_KEYS_PROPERTY_NAME = "pgp.publicKeys"; //$NON-NLS-1$
+ public static final String PGP_SIGNATURES_PROPERTY_NAME = "pgp.signatures"; //$NON-NLS-1$
+ private List<PGPSignature> signaturesToVerify;
+
+ public PGPSignatureVerifier() {
+ super();
+ link(nullOutputStream(), new NullProgressMonitor()); // this is convenience for tests
+ }
+
+ @Override
+ public void initialize(IProvisioningAgent agent, IProcessingStepDescriptor descriptor,
+ IArtifactDescriptor context) {
+ super.initialize(agent, descriptor, context);
+// 1. verify declared public keys have signature from a trusted key, if so, add to KeyStore
+// 2. verify artifact signature matches signture of given keys, and at least 1 of this key is trusted
+ String signatureText = unnormalizedPGPProperty(context.getProperty(PGP_SIGNATURES_PROPERTY_NAME));
+ if (signatureText == null) {
+ setStatus(Status.OK_STATUS);
+ return;
+ }
+ signaturesToVerify = new ArrayList<>();
+ try (InputStream in = new ArmoredInputStream(new ByteArrayInputStream(signatureText.getBytes()))) {
+ JcaPGPObjectFactory pgpFactory = new JcaPGPObjectFactory(in);
+ Object o = pgpFactory.nextObject();
+ PGPSignatureList signatureList;
+ if (o instanceof PGPCompressedData) {
+ PGPCompressedData pgpCompressData = (PGPCompressedData) o;
+ pgpFactory = new JcaPGPObjectFactory(pgpCompressData.getDataStream());
+ signatureList = (PGPSignatureList) pgpFactory.nextObject();
+ } else if (o instanceof PGPSignatureList) {
+ signatureList = (PGPSignatureList) o;
+ } else {
+ setStatus(new Status(IStatus.ERROR, Activator.ID,
+ Messages.Error_CouldNotLoadSignature));
+ return;
+ }
+ signatureList.iterator().forEachRemaining(signaturesToVerify::add);
+ } catch (Exception ex) {
+ setStatus(new Status(IStatus.ERROR, Activator.ID, Messages.Error_CouldNotLoadSignature, ex));
+ return;
+ }
+ if (signaturesToVerify.isEmpty()) {
+ setStatus(Status.OK_STATUS);
+ return;
+ }
+
+ IArtifactRepository repository = context.getRepository();
+ Map<Long, PGPPublicKey> signerKeys = readPublicKeys(context.getProperty(PGP_SIGNER_KEYS_PROPERTY_NAME),
+ repository != null ? repository.getProperty(PGP_SIGNER_KEYS_PROPERTY_NAME) : null);
+ for (PGPSignature signature : signaturesToVerify) {
+ PGPPublicKey publicKey = signerKeys.get(signature.getKeyID());
+ if (publicKey == null) {
+ setStatus(new Status(IStatus.ERROR, Activator.ID,
+ NLS.bind(Messages.Error_publicKeyNotFound, signature.getKeyID())));
+ return;
+ }
+ try {
+ signature.init(new JcaPGPContentVerifierBuilderProvider().setProvider(new BouncyCastleProvider()),
+ publicKey);
+ } catch (PGPException ex) {
+ setStatus(new Status(IStatus.ERROR, Activator.ID, ex.getMessage(), ex));
+ return;
+ }
+ }
+ }
+
+ /**
+ * See // https://www.w3.org/TR/1998/REC-xml-19980210#AVNormalize, newlines
+ * replaced by spaces by parser, needs to be restored
+ *
+ * @param context
+ * @param pgpSignaturesPropertyName
+ * @return fixed PGP armored blocks
+ */
+ private String unnormalizedPGPProperty(String value) {
+ if (value == null) {
+ return null;
+ }
+ return value.replace(' ', '\n').replace("-----BEGIN\nPGP\nSIGNATURE-----", "-----BEGIN PGP SIGNATURE-----") //$NON-NLS-1$ //$NON-NLS-2$
+ .replace("-----END\nPGP\nSIGNATURE-----", "-----END PGP SIGNATURE-----") //$NON-NLS-1$ //$NON-NLS-2$
+ .replace("-----BEGIN\nPGP\nPUBLIC\nKEY\nBLOCK-----", "-----BEGIN PGP PUBLIC KEY BLOCK-----") //$NON-NLS-1$ //$NON-NLS-2$
+ .replace("-----END\nPGP\nPUBLIC\nKEY\nBLOCK-----", "-----END PGP PUBLIC KEY BLOCK-----"); //$NON-NLS-1$ //$NON-NLS-2$
+ }
+
+ private Map<Long, PGPPublicKey> readPublicKeys(String armoredPublicKeyring) {
+ if (armoredPublicKeyring == null) {
+ return Collections.emptyMap();
+ }
+ Map<Long, PGPPublicKey> res = new HashMap<>();
+ try (InputStream stream = PGPUtil
+ .getDecoderStream(new ByteArrayInputStream(unnormalizedPGPProperty(armoredPublicKeyring).getBytes()))) {
+ PGPPublicKeyRingCollection pgpPub = new JcaPGPPublicKeyRingCollection(stream);
+
+ pgpPub.getKeyRings().forEachRemaining(kRing ->
+ kRing.getPublicKeys().forEachRemaining(key -> res.put(key.getKeyID(), key))
+ );
+ } catch (IOException | PGPException e) {
+ LogHelper.log(new Status(IStatus.ERROR, Activator.ID, e.getMessage(), e));
+ }
+ return res;
+
+ }
+
+ private Map<Long, PGPPublicKey> readPublicKeys(String... armoredPublicKeys) {
+ Map<Long, PGPPublicKey> keys = new HashMap<>();
+ for (String armoredKey : armoredPublicKeys) {
+ if (armoredKey != null) {
+ keys.putAll(readPublicKeys(armoredKey));
+ }
+ }
+ return keys;
+ }
+
+ @Override
+ public void write(int b) throws IOException {
+ if (signaturesToVerify != null) {
+ signaturesToVerify.iterator().forEachRemaining(signature -> signature.update((byte) b));
+ }
+
+ }
+
+ @Override
+ public void write(byte[] b) throws IOException {
+ getDestination().write(b);
+ if (signaturesToVerify != null) {
+ signaturesToVerify.iterator().forEachRemaining(signature -> signature.update(b));
+ }
+ }
+
+ @Override
+ public void write(byte[] b, int off, int len) throws IOException {
+ getDestination().write(b, off, len);
+ if (signaturesToVerify != null) {
+ signaturesToVerify.iterator().forEachRemaining(signature -> signature.update(b, off, len));
+ }
+ }
+
+ @Override
+ public void close() {
+ if (!getStatus().isOK()) {
+ return;
+ }
+ if (signaturesToVerify == null || signaturesToVerify.isEmpty()) {
+ return;
+ }
+ Iterator<PGPSignature> iterator = signaturesToVerify.iterator();
+ while (iterator.hasNext()) {
+ PGPSignature signature = iterator.next();
+ try {
+ if (!signature.verify()) {
+ setStatus(new Status(IStatus.ERROR, Activator.ID, Messages.Error_SignatureAndFileDontMatch));
+ return;
+ }
+ } catch (PGPException ex) {
+ setStatus(new Status(IStatus.ERROR, Activator.ID, ex.getMessage(), ex));
+ return;
+ }
+ }
+ setStatus(Status.OK_STATUS);
+ }
+}
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pgp/messages.properties b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pgp/messages.properties
new file mode 100644
index 000000000..90d95f756
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/processors/pgp/messages.properties
@@ -0,0 +1,14 @@
+###############################################################################
+# Copyright (c) 2021 Red Hat Inc. and others
+#
+# This program and the accompanying materials
+# are made available under the terms of the Eclipse Public License 2.0
+# which accompanies this distribution, and is available at
+# https://www.eclipse.org/legal/epl-2.0/
+#
+# SPDX-License-Identifier: EPL-2.0
+###############################################################################
+
+Error_SignatureAndFileDontMatch=Signature is invalid for current content.
+Error_CouldNotLoadSignature=Could not load signature
+Error_publicKeyNotFound=Public key not found for {0}.
diff --git a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java
index 492e50667..e58c5c6da 100644
--- a/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java
+++ b/bundles/org.eclipse.equinox.p2.artifact.repository/src/org/eclipse/equinox/internal/p2/artifact/repository/simple/SimpleArtifactRepository.java
@@ -29,6 +29,7 @@ import java.util.jar.JarOutputStream;
import org.eclipse.core.runtime.*;
import org.eclipse.core.runtime.jobs.Job;
import org.eclipse.equinox.internal.p2.artifact.processors.checksum.ChecksumUtilities;
+import org.eclipse.equinox.internal.p2.artifact.processors.pgp.PGPSignatureVerifier;
import org.eclipse.equinox.internal.p2.artifact.repository.*;
import org.eclipse.equinox.internal.p2.artifact.repository.Messages;
import org.eclipse.equinox.internal.p2.core.helpers.FileUtils;
@@ -48,8 +49,7 @@ import org.eclipse.equinox.p2.metadata.index.IIndexProvider;
import org.eclipse.equinox.p2.query.*;
import org.eclipse.equinox.p2.repository.*;
import org.eclipse.equinox.p2.repository.artifact.*;
-import org.eclipse.equinox.p2.repository.artifact.spi.AbstractArtifactRepository;
-import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
+import org.eclipse.equinox.p2.repository.artifact.spi.*;
import org.eclipse.osgi.service.datalocation.Location;
import org.eclipse.osgi.util.NLS;
@@ -478,6 +478,7 @@ public class SimpleArtifactRepository extends AbstractArtifactRepository impleme
Set<String> skipChecksums = ARTIFACT_MD5_CHECKSUM_ENABLED ? Collections.emptySet() : Collections.singleton(ChecksumHelper.MD5);
addChecksumVerifiers(descriptor, steps, skipChecksums, IArtifactDescriptor.ARTIFACT_CHECKSUM);
+ addPGPSignatureVerifier(descriptor, steps);
if (steps.isEmpty())
return destination;
@@ -486,6 +487,15 @@ public class SimpleArtifactRepository extends AbstractArtifactRepository impleme
return handler.link(stepArray, destination, monitor);
}
+ private void addPGPSignatureVerifier(IArtifactDescriptor descriptor, ArrayList<ProcessingStep> steps) {
+ if (descriptor.getProperties().containsKey(PGPSignatureVerifier.PGP_SIGNATURES_PROPERTY_NAME)) {
+ PGPSignatureVerifier step = new PGPSignatureVerifier();
+ ProcessingStepDescriptor stepDescriptor = new ProcessingStepDescriptor(PGPSignatureVerifier.ID, null, true);
+ step.initialize(getProvisioningAgent(), stepDescriptor, descriptor);
+ steps.add(step);
+ }
+ }
+
private OutputStream addPreSteps(ProcessingStepHandler handler, IArtifactDescriptor descriptor, OutputStream destination, IProgressMonitor monitor) {
ArrayList<ProcessingStep> steps = new ArrayList<>();
if (IArtifactDescriptor.TYPE_ZIP.equals(descriptor.getProperty(IArtifactDescriptor.DOWNLOAD_CONTENTTYPE)))
@@ -899,6 +909,7 @@ public class SimpleArtifactRepository extends AbstractArtifactRepository impleme
* for compatibility with the format used in optimized update sites. We call
* this arrangement "flat but packed".
*/
+ @SuppressWarnings("removal")
private boolean flatButPackedEnabled(IArtifactDescriptor descriptor) {
return Boolean.TRUE.toString().equals(getProperties().get(PUBLISH_PACK_FILES_AS_SIBLINGS)) && IArtifactDescriptor.FORMAT_PACKED.equals(descriptor.getProperty(IArtifactDescriptor.FORMAT));
}
@@ -1272,8 +1283,10 @@ public class SimpleArtifactRepository extends AbstractArtifactRepository impleme
boolean found = false;
IStatus[] stepStatusChildren = stepStatus.getChildren();
for (int i = 0; i < stepStatusChildren.length && !found; i++)
- if (stepStatusChildren[i] == status)
+ if (stepStatusChildren[i] == status) {
found = true;
+ break;
+ }
if (!found)
result.merge(status);
}
diff --git a/bundles/org.eclipse.equinox.p2.console/.classpath b/bundles/org.eclipse.equinox.p2.console/.classpath
index eca7bdba8..e801ebfb4 100644
--- a/bundles/org.eclipse.equinox.p2.console/.classpath
+++ b/bundles/org.eclipse.equinox.p2.console/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.core.prefs
index 58ce6826f..71d3a6cc8 100644
--- a/bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.console/.settings/org.eclipse.jdt.core.prefs
@@ -19,9 +19,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -37,6 +37,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=error
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -90,6 +91,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -125,7 +127,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -139,7 +142,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
@@ -260,7 +262,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
@@ -331,7 +332,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -476,7 +476,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
diff --git a/bundles/org.eclipse.equinox.p2.console/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.console/META-INF/MANIFEST.MF
index de9585ecf..5fae93979 100644
--- a/bundles/org.eclipse.equinox.p2.console/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.console/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.console;singleton:=true
-Bundle-Version: 1.1.500.qualifier
+Bundle-Version: 1.2.0.qualifier
Bundle-Activator: org.eclipse.equinox.internal.p2.console.Activator
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Export-Package: org.eclipse.equinox.internal.p2.console;x-friends:="org.eclipse.equinox.p2.director.app"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Import-Package: org.eclipse.equinox.internal.p2.core.helpers,
org.eclipse.equinox.internal.provisional.p2.director,
org.eclipse.equinox.p2.core;version="[2.0.0,3.0.0)",
diff --git a/bundles/org.eclipse.equinox.p2.console/pom.xml b/bundles/org.eclipse.equinox.p2.console/pom.xml
index 8be19a86b..e85318e88 100644
--- a/bundles/org.eclipse.equinox.p2.console/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.console/pom.xml
@@ -4,11 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.console</artifactId>
- <version>1.1.500-SNAPSHOT</version>
+ <version>1.2.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.core/.classpath b/bundles/org.eclipse.equinox.p2.core/.classpath
index eca7bdba8..e801ebfb4 100644
--- a/bundles/org.eclipse.equinox.p2.core/.classpath
+++ b/bundles/org.eclipse.equinox.p2.core/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.core.prefs
index 1466d19a2..0c53402c0 100644
--- a/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.core/.settings/org.eclipse.jdt.core.prefs
@@ -18,9 +18,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -36,6 +36,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=error
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -89,6 +90,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -124,7 +126,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -138,7 +141,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
@@ -259,7 +261,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
@@ -330,7 +331,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -475,7 +475,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
diff --git a/bundles/org.eclipse.equinox.p2.core/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.core/META-INF/MANIFEST.MF
index 6472a2bac..d8b8128f1 100644
--- a/bundles/org.eclipse.equinox.p2.core/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.core/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.core;singleton:=true
-Bundle-Version: 2.6.300.qualifier
+Bundle-Version: 2.7.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.equinox.internal.p2.core.Activator
Bundle-Vendor: %providerName
@@ -67,7 +67,7 @@ Export-Package: org.eclipse.equinox.internal.p2.core;x-friends:="org.eclipse.equ
org.eclipse.equinox.p2.core;version="2.0.0",
org.eclipse.equinox.p2.core.spi;version="2.1.0"
Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.5.0,4.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
Service-Component: OSGI-INF/eventBus.xml, OSGI-INF/agentProvider.xml
Import-Package: org.eclipse.osgi.framework.eventmgr;version="1.2.0",
diff --git a/bundles/org.eclipse.equinox.p2.core/pom.xml b/bundles/org.eclipse.equinox.p2.core/pom.xml
index 563e894f7..57acd2805 100644
--- a/bundles/org.eclipse.equinox.p2.core/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.core/pom.xml
@@ -4,11 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.core</artifactId>
- <version>2.6.300-SNAPSHOT</version>
+ <version>2.7.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/CollectionUtils.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/CollectionUtils.java
index 6f15b035a..cb40d0a44 100644
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/CollectionUtils.java
+++ b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/CollectionUtils.java
@@ -70,7 +70,7 @@ public class CollectionUtils {
*/
@Override
public ListIterator<E> listIterator() {
- return new ListIterator<E>() {
+ return new ListIterator<>() {
private int index = 0;
@Override
diff --git a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarFile.java b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarFile.java
index f53ebff02..567be31af 100644
--- a/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarFile.java
+++ b/bundles/org.eclipse.equinox.p2.core/src/org/eclipse/equinox/internal/p2/core/helpers/TarFile.java
@@ -75,7 +75,7 @@ public class TarFile implements Closeable {
* @return enumeration of all files in the archive
*/
public Enumeration<TarEntry> entries() {
- return new Enumeration<TarEntry>() {
+ return new Enumeration<>() {
@Override
public boolean hasMoreElements() {
return (curEntry != null);
diff --git a/bundles/org.eclipse.equinox.p2.director.app/.classpath b/bundles/org.eclipse.equinox.p2.director.app/.classpath
index 030607499..cc48f9f27 100644
--- a/bundles/org.eclipse.equinox.p2.director.app/.classpath
+++ b/bundles/org.eclipse.equinox.p2.director.app/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" output="bin_ant" path="src_ant"/>
diff --git a/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.core.prefs
index 563e5c11a..c70fa9628 100644
--- a/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.director.app/.settings/org.eclipse.jdt.core.prefs
@@ -17,9 +17,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nul
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -35,6 +35,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=error
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -88,6 +89,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -123,7 +125,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -137,7 +140,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
@@ -258,7 +260,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
@@ -329,7 +330,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -474,7 +474,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
diff --git a/bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF
index 14a13fa91..04b4a7068 100644
--- a/bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.director.app/META-INF/MANIFEST.MF
@@ -2,13 +2,13 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.director.app;singleton:=true
-Bundle-Version: 1.1.600.qualifier
+Bundle-Version: 1.2.0.qualifier
Bundle-Activator: org.eclipse.equinox.internal.p2.director.app.Activator
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Export-Package: org.eclipse.equinox.internal.p2.director.app;x-internal:=true
Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.5.0,4.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.equinox.app,
org.eclipse.equinox.internal.p2.core.helpers,
diff --git a/bundles/org.eclipse.equinox.p2.director.app/pom.xml b/bundles/org.eclipse.equinox.p2.director.app/pom.xml
index 4ec63d036..ec794bcfd 100644
--- a/bundles/org.eclipse.equinox.p2.director.app/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.director.app/pom.xml
@@ -4,11 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.director.app</artifactId>
- <version>1.1.600-SNAPSHOT</version>
+ <version>1.2.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.director/.classpath b/bundles/org.eclipse.equinox.p2.director/.classpath
index eca7bdba8..e801ebfb4 100644
--- a/bundles/org.eclipse.equinox.p2.director/.classpath
+++ b/bundles/org.eclipse.equinox.p2.director/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.core.prefs
index 3bb5d9f8c..74183576f 100644
--- a/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.director/.settings/org.eclipse.jdt.core.prefs
@@ -17,9 +17,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -36,6 +36,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=error
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -89,6 +90,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -126,13 +128,14 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.align_variable_declarations_on_columns=false
org.eclipse.jdt.core.formatter.align_with_spaces=false
+org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
@@ -140,21 +143,24 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
@@ -246,11 +252,12 @@ org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
@@ -281,6 +288,8 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -305,13 +314,17 @@ org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
@@ -359,6 +372,8 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do no
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -395,9 +410,12 @@ org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not inser
org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -436,10 +454,14 @@ org.eclipse.jdt.core.formatter.tabulation.char=tab
org.eclipse.jdt.core.formatter.tabulation.size=4
org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
org.eclipse.jdt.core.incompatibleJDKLevel=ignore
org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.director/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.director/META-INF/MANIFEST.MF
index 3aad47093..ed370e384 100644
--- a/bundles/org.eclipse.equinox.p2.director/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.director/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.director;singleton:=true
-Bundle-Version: 2.4.700.qualifier
+Bundle-Version: 2.5.0.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.equinox.internal.p2.director.DirectorActivator
Bundle-Vendor: %providerName
@@ -27,7 +27,7 @@ Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.3.0,4.0.0)",
org.eclipse.equinox.p2.metadata;bundle-version="[2.0.0,3.0.0)",
org.sat4j.core;bundle-version="[2.3.5,3.0.0)",
org.sat4j.pb;bundle-version="[2.3.5,3.0.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
Service-Component: OSGI-INF/director.xml, OSGI-INF/planner.xml
Import-Package: org.eclipse.equinox.internal.p2.core.helpers,
diff --git a/bundles/org.eclipse.equinox.p2.director/pom.xml b/bundles/org.eclipse.equinox.p2.director/pom.xml
index c7be7b327..1c99ee4d8 100644
--- a/bundles/org.eclipse.equinox.p2.director/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.director/pom.xml
@@ -4,11 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.director</artifactId>
- <version>2.4.700-SNAPSHOT</version>
+ <version>2.5.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/OptimizationFunction.java b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/OptimizationFunction.java
index 1d3cc1e80..42672c6e9 100644
--- a/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/OptimizationFunction.java
+++ b/bundles/org.eclipse.equinox.p2.director/src/org/eclipse/equinox/internal/p2/director/OptimizationFunction.java
@@ -28,7 +28,6 @@ public class OptimizationFunction {
private IQueryable<IInstallableUnit> picker;
private IInstallableUnit selectionContext;
protected Map<String, Map<Version, IInstallableUnit>> slice; //The IUs that have been considered to be part of the problem
- private int numberOfInstalledIUs; //TODO this should be renamed to consideredIUs or sliceSize
private IQueryable<IInstallableUnit> lastState;
private List<AbstractVariable> optionalRequirementVariable;
@@ -42,7 +41,7 @@ public class OptimizationFunction {
//Create an optimization function favoring the highest version of each IU
public List<WeightedObject<? extends Object>> createOptimizationFunction(IInstallableUnit metaIu, Collection<IInstallableUnit> newRoots) {
- numberOfInstalledIUs = sizeOf(lastState);
+ int numberOfInstalledIUs = sizeOf(lastState);
List<WeightedObject<? extends Object>> weightedObjects = new ArrayList<>();
Set<IInstallableUnit> transitiveClosure; //The transitive closure of the IUs we are adding (this also means updating)
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/.classpath b/bundles/org.eclipse.equinox.p2.directorywatcher/.classpath
index eca7bdba8..e801ebfb4 100644
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/.classpath
+++ b/bundles/org.eclipse.equinox.p2.directorywatcher/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.core.prefs
index 4e79b56c0..26df1a4b1 100644
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.directorywatcher/.settings/org.eclipse.jdt.core.prefs
@@ -16,9 +16,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nul
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -35,6 +35,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=error
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -88,6 +89,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -124,7 +126,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -138,7 +141,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
@@ -259,7 +261,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
@@ -330,7 +331,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -475,7 +475,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.directorywatcher/META-INF/MANIFEST.MF
index 559c6bfae..a91060a0f 100644
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.directorywatcher/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.directorywatcher;singleton:=true
-Bundle-Version: 1.2.500.qualifier
+Bundle-Version: 1.3.0.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Export-Package: org.eclipse.equinox.internal.provisional.p2.directorywatcher;x-friends:="org.eclipse.equinox.p2.reconciler.dropins,org.eclipse.equinox.p2.extensionlocation"
Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.7.0,4.0)"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.equinox.internal.p2.artifact.repository.simple,
org.eclipse.equinox.internal.p2.core.helpers,
diff --git a/bundles/org.eclipse.equinox.p2.directorywatcher/pom.xml b/bundles/org.eclipse.equinox.p2.directorywatcher/pom.xml
index e8daec668..a0f464d21 100644
--- a/bundles/org.eclipse.equinox.p2.directorywatcher/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.directorywatcher/pom.xml
@@ -4,11 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.directorywatcher</artifactId>
- <version>1.2.500-SNAPSHOT</version>
+ <version>1.3.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.discovery.compatibility/.classpath b/bundles/org.eclipse.equinox.p2.discovery.compatibility/.classpath
index eca7bdba8..e801ebfb4 100644
--- a/bundles/org.eclipse.equinox.p2.discovery.compatibility/.classpath
+++ b/bundles/org.eclipse.equinox.p2.discovery.compatibility/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.p2.discovery.compatibility/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.discovery.compatibility/META-INF/MANIFEST.MF
index 337507969..277ae2f5f 100644
--- a/bundles/org.eclipse.equinox.p2.discovery.compatibility/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.discovery.compatibility/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.equinox.p2.discovery.compatibility;singleton:=true
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 1.2.100.qualifier
Bundle-Vendor: %Bundle-Vendor
Bundle-RequiredExecutionEnvironment: JavaSE-11
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.3.0",
diff --git a/bundles/org.eclipse.equinox.p2.discovery.compatibility/pom.xml b/bundles/org.eclipse.equinox.p2.discovery.compatibility/pom.xml
index d5b01a30c..996a458fc 100644
--- a/bundles/org.eclipse.equinox.p2.discovery.compatibility/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.discovery.compatibility/pom.xml
@@ -14,11 +14,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.discovery.compatibility</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.2.100-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.discovery/.classpath b/bundles/org.eclipse.equinox.p2.discovery/.classpath
index 5f1595b77..f57eddd9b 100644
--- a/bundles/org.eclipse.equinox.p2.discovery/.classpath
+++ b/bundles/org.eclipse.equinox.p2.discovery/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
<accessrules>
<accessrule kind="accessible" pattern="org/eclipse/equinox/internal/p2/core/**"/>
diff --git a/bundles/org.eclipse.equinox.p2.discovery/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.discovery/.settings/org.eclipse.jdt.core.prefs
index c7bd22b57..456e7b09f 100644
--- a/bundles/org.eclipse.equinox.p2.discovery/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.discovery/.settings/org.eclipse.jdt.core.prefs
@@ -17,9 +17,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nul
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -35,6 +35,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -88,6 +89,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -123,7 +125,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -137,7 +140,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
@@ -258,7 +260,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
@@ -329,7 +330,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -474,7 +474,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
diff --git a/bundles/org.eclipse.equinox.p2.discovery/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.discovery/META-INF/MANIFEST.MF
index 2e89a36de..3ed751bd4 100644
--- a/bundles/org.eclipse.equinox.p2.discovery/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.discovery/META-INF/MANIFEST.MF
@@ -2,9 +2,9 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.equinox.p2.discovery;singleton:=true
-Bundle-Version: 1.1.200.qualifier
+Bundle-Version: 1.2.0.qualifier
Bundle-Vendor: %Bundle-Vendor
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.3.0",
org.eclipse.equinox.p2.core;bundle-version="2.0.0"
Export-Package: org.eclipse.equinox.internal.p2.discovery;x-friends:="org.eclipse.equinox.p2.discovery.compatibility,org.eclipse.equinox.p2.ui.discovery,org.eclipse.equinox.p2.discovery.repository",
diff --git a/bundles/org.eclipse.equinox.p2.discovery/pom.xml b/bundles/org.eclipse.equinox.p2.discovery/pom.xml
index 6a0643302..56901e8aa 100644
--- a/bundles/org.eclipse.equinox.p2.discovery/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.discovery/pom.xml
@@ -4,11 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.discovery</artifactId>
- <version>1.1.200-SNAPSHOT</version>
+ <version>1.2.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.engine/.classpath b/bundles/org.eclipse.equinox.p2.engine/.classpath
index eca7bdba8..e801ebfb4 100644
--- a/bundles/org.eclipse.equinox.p2.engine/.classpath
+++ b/bundles/org.eclipse.equinox.p2.engine/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.core.prefs
index 1d2db97da..ae545cfe9 100644
--- a/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.engine/.settings/org.eclipse.jdt.core.prefs
@@ -17,9 +17,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nul
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -35,6 +35,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=error
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -88,6 +89,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -123,7 +125,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -137,7 +140,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
@@ -258,7 +260,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
@@ -329,7 +330,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -474,7 +474,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
diff --git a/bundles/org.eclipse.equinox.p2.engine/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.engine/META-INF/MANIFEST.MF
index 5bd54376a..2a2d4a668 100644
--- a/bundles/org.eclipse.equinox.p2.engine/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.engine/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.engine;singleton:=true
-Bundle-Version: 2.6.700.qualifier
+Bundle-Version: 2.7.0.qualifier
Bundle-Activator: org.eclipse.equinox.internal.p2.engine.EngineActivator
Bundle-Vendor: %providerName
Bundle-Localization: plugin
@@ -22,7 +22,7 @@ Require-Bundle: org.eclipse.equinox.common,
org.eclipse.equinox.registry,
org.eclipse.core.jobs;bundle-version="[3.4.0,4.0.0)"
Eclipse-RegisterBuddy: org.eclipse.equinox.p2.metadata.repository
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
Service-Component: OSGI-INF/profileRegistry.xml, OSGI-INF/engine.xml
Import-Package: javax.xml.parsers,
diff --git a/bundles/org.eclipse.equinox.p2.engine/pom.xml b/bundles/org.eclipse.equinox.p2.engine/pom.xml
index 5a8bdf177..767ed8910 100644
--- a/bundles/org.eclipse.equinox.p2.engine/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.engine/pom.xml
@@ -4,11 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.engine</artifactId>
- <version>2.6.700-SNAPSHOT</version>
+ <version>2.7.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/DownloadManager.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/DownloadManager.java
index cc923859b..b67af3ad9 100644
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/DownloadManager.java
+++ b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/DownloadManager.java
@@ -35,7 +35,7 @@ public class DownloadManager {
* TODO: This is copied from the ProvisioningContext class. Can we combine them?
* See https://bugs.eclipse.org/335153.
*/
- private static final Comparator<IArtifactRepository> LOCAL_FIRST_COMPARATOR = new Comparator<IArtifactRepository>() {
+ private static final Comparator<IArtifactRepository> LOCAL_FIRST_COMPARATOR = new Comparator<>() {
private static final String FILE_PROTOCOL = "file"; //$NON-NLS-1$
@Override
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SimpleProfileRegistry.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SimpleProfileRegistry.java
index ef16bf4f9..206404376 100644
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SimpleProfileRegistry.java
+++ b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/internal/p2/engine/SimpleProfileRegistry.java
@@ -527,6 +527,7 @@ public class SimpleProfileRegistry implements IProfileRegistry, IAgentService {
// protect against NPE
if (profileDirectories == null) {
parser.getProfileMap();
+ return Collections.emptyMap();
}
for (File profileDirectorie : profileDirectories) {
String directoryName = profileDirectorie.getName();
diff --git a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/spi/Memento.java b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/spi/Memento.java
index 5b1082881..cab39fdfe 100644
--- a/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/spi/Memento.java
+++ b/bundles/org.eclipse.equinox.p2.engine/src/org/eclipse/equinox/p2/engine/spi/Memento.java
@@ -51,7 +51,7 @@ public final class Memento {
}
public Enumeration<String> getKeys() {
- return new Enumeration<String>() {
+ return new Enumeration<>() {
Iterator<String> keysIterator = mementoMap.keySet().iterator();
@Override
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/.classpath b/bundles/org.eclipse.equinox.p2.extensionlocation/.classpath
index eca7bdba8..e801ebfb4 100644
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/.classpath
+++ b/bundles/org.eclipse.equinox.p2.extensionlocation/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.core.prefs
index ffc318ade..2688c8dd5 100644
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.extensionlocation/.settings/org.eclipse.jdt.core.prefs
@@ -17,9 +17,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nul
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -36,6 +36,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=error
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -89,6 +90,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -125,7 +127,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -139,7 +142,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
@@ -260,7 +262,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
@@ -331,7 +332,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -476,7 +476,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.extensionlocation/META-INF/MANIFEST.MF
index 2a2096d6c..76a2520ae 100644
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.extensionlocation/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.extensionlocation;singleton:=true
-Bundle-Version: 1.3.400.qualifier
+Bundle-Version: 1.4.0.qualifier
Bundle-Activator: org.eclipse.equinox.internal.p2.extensionlocation.Activator
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Export-Package: org.eclipse.equinox.internal.p2.extensionlocation;x-friends:="org.eclipse.equinox.p2.reconciler.dropins,org.eclipse.equinox.p2.ui.importexport"
Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.5.0,4.0.0)",
org.eclipse.equinox.p2.metadata
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.equinox.internal.p2.artifact.repository.simple,
org.eclipse.equinox.internal.p2.core.helpers,
diff --git a/bundles/org.eclipse.equinox.p2.extensionlocation/pom.xml b/bundles/org.eclipse.equinox.p2.extensionlocation/pom.xml
index 679b693ce..ea072f2df 100644
--- a/bundles/org.eclipse.equinox.p2.extensionlocation/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.extensionlocation/pom.xml
@@ -4,11 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.extensionlocation</artifactId>
- <version>1.3.400-SNAPSHOT</version>
+ <version>1.4.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/.classpath b/bundles/org.eclipse.equinox.p2.garbagecollector/.classpath
index eca7bdba8..e801ebfb4 100644
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/.classpath
+++ b/bundles/org.eclipse.equinox.p2.garbagecollector/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.garbagecollector/.settings/org.eclipse.jdt.core.prefs
index 4e79b56c0..26df1a4b1 100644
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.garbagecollector/.settings/org.eclipse.jdt.core.prefs
@@ -16,9 +16,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nul
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -35,6 +35,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=error
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -88,6 +89,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -124,7 +126,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -138,7 +141,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
@@ -259,7 +261,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
@@ -330,7 +331,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -475,7 +475,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.garbagecollector/META-INF/MANIFEST.MF
index 89e6d2e65..5001cdab1 100644
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.garbagecollector/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.garbagecollector;singleton:=true
-Bundle-Version: 1.1.400.qualifier
+Bundle-Version: 1.2.0.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Export-Package: org.eclipse.equinox.internal.p2.garbagecollector;x-friends:="org.eclipse.equinox.p2.touchpoint.eclipse,org.eclipse.pde.core,org.eclipse.equinox.p2.ui.sdk.scheduler"
@@ -24,5 +24,5 @@ Import-Package: org.eclipse.core.runtime.preferences,
org.osgi.service.prefs;version="1.1.0"
Service-Component: OSGI-INF/garbagecollector.xml
Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Automatic-Module-Name: org.eclipse.equinox.p2.garbagecollector
diff --git a/bundles/org.eclipse.equinox.p2.garbagecollector/pom.xml b/bundles/org.eclipse.equinox.p2.garbagecollector/pom.xml
index 1b50a5b15..f0c012cc9 100644
--- a/bundles/org.eclipse.equinox.p2.garbagecollector/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.garbagecollector/pom.xml
@@ -4,11 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.garbagecollector</artifactId>
- <version>1.1.400-SNAPSHOT</version>
+ <version>1.2.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.installer/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.installer/META-INF/MANIFEST.MF
index f816770fa..d1be7dc49 100644
--- a/bundles/org.eclipse.equinox.p2.installer/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.installer/META-INF/MANIFEST.MF
@@ -4,7 +4,7 @@ Bundle-SymbolicName: org.eclipse.equinox.p2.installer;singleton:=true
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-Localization: plugin
-Bundle-Version: 1.3.100.qualifier
+Bundle-Version: 1.3.200.qualifier
Bundle-Activator: org.eclipse.equinox.internal.p2.installer.InstallerActivator
Bundle-ActivationPolicy: lazy
Require-Bundle: org.eclipse.osgi;bundle-version="[3.7.0,4.0.0)",
diff --git a/bundles/org.eclipse.equinox.p2.installer/installer.product b/bundles/org.eclipse.equinox.p2.installer/installer.product
index 7e885dd71..6c2bd7198 100644
--- a/bundles/org.eclipse.equinox.p2.installer/installer.product
+++ b/bundles/org.eclipse.equinox.p2.installer/installer.product
@@ -57,7 +57,8 @@
<plugin id="org.eclipse.equinox.frameworkadmin"/>
<plugin id="org.eclipse.equinox.frameworkadmin.equinox"/>
<plugin id="org.eclipse.equinox.launcher"/>
- <plugin id="org.eclipse.equinox.launcher.cocoa.macosx" fragment="true"/>
+ <plugin id="org.eclipse.equinox.launcher.cocoa.macosx.x86_64" fragment="true"/>
+ <plugin id="org.eclipse.equinox.launcher.cocoa.macosx.aarch64" fragment="true"/>
<plugin id="org.eclipse.equinox.launcher.gtk.linux.x86_64" fragment="true"/>
<plugin id="org.eclipse.equinox.p2.artifact.repository"/>
<plugin id="org.eclipse.equinox.p2.core"/>
@@ -86,7 +87,6 @@
<plugin id="org.eclipse.osgi.services"/>
<plugin id="org.eclipse.osgi.util"/>
<plugin id="org.eclipse.swt"/>
- <plugin id="org.eclipse.swt.browser.chromium.gtk.linux.x86_64" fragment="true"/>
<plugin id="org.eclipse.swt.cocoa.macosx" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.linux.x86_64" fragment="true"/>
<plugin id="org.sat4j.core"/>
diff --git a/bundles/org.eclipse.equinox.p2.installer/pom.xml b/bundles/org.eclipse.equinox.p2.installer/pom.xml
index 5c1199e11..f4f3cccba 100644
--- a/bundles/org.eclipse.equinox.p2.installer/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.installer/pom.xml
@@ -4,11 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.installer</artifactId>
- <version>1.3.100-SNAPSHOT</version>
+ <version>1.3.200-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/.classpath b/bundles/org.eclipse.equinox.p2.jarprocessor/.classpath
index 030607499..cc48f9f27 100644
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/.classpath
+++ b/bundles/org.eclipse.equinox.p2.jarprocessor/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" output="bin_ant" path="src_ant"/>
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.core.prefs
index 54666e7f7..e8117dca4 100644
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.jarprocessor/.settings/org.eclipse.jdt.core.prefs
@@ -16,9 +16,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nul
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -35,6 +35,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=error
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -88,6 +89,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -125,7 +127,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -139,7 +142,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
@@ -260,7 +262,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
@@ -331,7 +332,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -476,7 +476,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.jarprocessor/META-INF/MANIFEST.MF
index b356a0d06..55117eeff 100644
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.jarprocessor/META-INF/MANIFEST.MF
@@ -4,8 +4,8 @@ Bundle-SymbolicName: org.eclipse.equinox.p2.jarprocessor;singleton:=true
Bundle-Name: %pluginName
Bundle-Vendor: %providerName
Bundle-Localization: plugin
-Bundle-Version: 1.1.700.qualifier
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-Version: 1.2.0.qualifier
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Main-Class: org.eclipse.equinox.internal.p2.jarprocessor.Main
Export-Package: org.eclipse.equinox.internal.p2.jarprocessor;x-friends:="org.eclipse.equinox.p2.artifact.repository,org.eclipse.pde.build",
org.eclipse.equinox.internal.p2.jarprocessor.unsigner;x-internal:=true,
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/forceQualifierUpdate.txt b/bundles/org.eclipse.equinox.p2.jarprocessor/forceQualifierUpdate.txt
index 7b44375cc..7b51b3beb 100644
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/forceQualifierUpdate.txt
+++ b/bundles/org.eclipse.equinox.p2.jarprocessor/forceQualifierUpdate.txt
@@ -3,4 +3,6 @@ Bug 403352 - Update all parent versions to match our build stream
Bug 465620 - jar processor needs 'touch'
Bug 534597 - Unanticipated comparator errors in I20180511-2000
comparator errors on new infra
-Bug 566668 - Comparator errors in I20200904-0210 \ No newline at end of file
+Bug 566668 - Comparator errors in I20200904-0210
+Bug 571555 - Comparator errors in I20210226-1800
+Bug 571731 - Comparator errors in I20210305-0820 \ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/pom.xml b/bundles/org.eclipse.equinox.p2.jarprocessor/pom.xml
index 2ede6d33e..5ee785614 100644
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.jarprocessor/pom.xml
@@ -4,11 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.jarprocessor</artifactId>
- <version>1.1.700-SNAPSHOT</version>
+ <version>1.2.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Main.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Main.java
index cffbf0ce5..9ce534b08 100644
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Main.java
+++ b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Main.java
@@ -35,6 +35,7 @@ public class Main {
System.out.println("-verbose verbose mode "); //$NON-NLS-1$
}
+ @SuppressWarnings("removal")
public static JarProcessorExecutor.Options processArguments(String[] args) {
if (args.length == 0) {
printUsage();
@@ -64,9 +65,9 @@ public class Main {
options.outputDir = args[++i];
} else if (args[i].equals("-verbose")) { //$NON-NLS-1$
options.verbose = true;
- } else if (args[i].equals("-processAll")) { //$NON-NLS-1$
+ } else if (args[i].equals("-processAll")) { //$NON-NLS-1$
options.processAll = true;
- }
+ }
}
options.input = new File(args[i]);
@@ -76,19 +77,19 @@ public class Main {
if (options.unpack) {
if (!JarProcessor.canPerformUnpack()) {
problemMessage = "The unpack200 command cannot be found."; //$NON-NLS-1$
- } else if (options.input.isFile() && !inputName.endsWith(".zip") && !inputName.endsWith(".pack.gz")) { //$NON-NLS-1$ //$NON-NLS-2$
+ } else if (options.input.isFile() && !inputName.endsWith(".zip") && !inputName.endsWith(".pack.gz")) { //$NON-NLS-1$ //$NON-NLS-2$
problemMessage = "Input file is not a pack.gz file."; //$NON-NLS-1$
- } else if (options.pack || options.repack || options.signCommand != null) {
+ } else if (options.pack || options.repack || options.signCommand != null) {
problemMessage = "Pack, repack or sign cannot be specified with unpack."; //$NON-NLS-1$
}
} else {
if (options.input.isFile() && !inputName.endsWith(".zip") && !inputName.endsWith(".jar")) { //$NON-NLS-1$ //$NON-NLS-2$
problemMessage = "Input file is not a jar file."; //$NON-NLS-1$
- } else if ((options.pack || options.repack) && !JarProcessor.canPerformPack()) {
+ } else if ((options.pack || options.repack) && !JarProcessor.canPerformPack()) {
problemMessage = "The pack200 command can not be found."; //$NON-NLS-1$
}
}
- if(problemMessage != null){
+ if (problemMessage != null) {
System.out.println(problemMessage);
System.out.println();
printUsage();
@@ -97,7 +98,7 @@ public class Main {
return options;
}
-
+
/**
* @param args
*/
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackStep.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackStep.java
index da41e546a..1456f7f91 100644
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackStep.java
+++ b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackStep.java
@@ -17,6 +17,13 @@ import java.io.File;
import java.io.IOException;
import java.util.*;
+/**
+ * @noreference This class is not intended to be referenced by clients.
+ * @noextend This class is not intended to be subclassed by clients.
+ * @noinstantiate This class is not intended to be instantiated by clients.
+ * @deprecated See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a> for details.
+ */
+@Deprecated(forRemoval = true, since = "1.2.0")
public class PackStep extends CommandStep {
protected static String packCommand = null;
@@ -40,7 +47,7 @@ public class PackStep extends CommandStep {
if (location == null) {
continue;
}
- result = execute(new String[]{location, "-V"}); //$NON-NLS-1$
+ result = execute(new String[] { location, "-V" }); //$NON-NLS-1$
if (result == 0) {
packCommand = location;
canPack = Boolean.TRUE;
@@ -98,7 +105,7 @@ public class PackStep extends CommandStep {
}
protected boolean shouldPack(File input, List<Properties> containers, Properties inf) {
- //1: exclude by containers
+ // 1: exclude by containers
// innermost jar is first on the list, it can override outer jars
for (Properties container : containers) {
if (container.containsKey(Utils.MARK_EXCLUDE_CHILDREN_PACK)) {
@@ -111,8 +118,9 @@ public class PackStep extends CommandStep {
}
}
- //2: excluded by self
- if (inf != null && inf.containsKey(Utils.MARK_EXCLUDE_PACK) && Boolean.parseBoolean(inf.getProperty(Utils.MARK_EXCLUDE_PACK))) {
+ // 2: excluded by self
+ if (inf != null && inf.containsKey(Utils.MARK_EXCLUDE_PACK)
+ && Boolean.parseBoolean(inf.getProperty(Utils.MARK_EXCLUDE_PACK))) {
if (verbose)
System.out.println("Excluding " + input.getName() + " from " + getStepName()); //$NON-NLS-1$ //$NON-NLS-2$
return false;
@@ -121,7 +129,8 @@ public class PackStep extends CommandStep {
return true;
}
- protected String[] getCommand(File input, File outputFile, Properties inf, List<Properties> containers) throws IOException {
+ protected String[] getCommand(File input, File outputFile, Properties inf, List<Properties> containers)
+ throws IOException {
String[] cmd = null;
String arguments = getArguments(input, inf, containers);
if (arguments != null && arguments.length() > 0) {
@@ -132,32 +141,32 @@ public class PackStep extends CommandStep {
cmd[cmd.length - 2] = outputFile.getCanonicalPath();
cmd[cmd.length - 1] = input.getCanonicalPath();
} else {
- cmd = new String[] {packCommand, outputFile.getCanonicalPath(), input.getCanonicalPath()};
+ cmd = new String[] { packCommand, outputFile.getCanonicalPath(), input.getCanonicalPath() };
}
return cmd;
}
protected String getArguments(File input, Properties inf, List<Properties> containers) {
- //1: Explicitly marked in our .inf file
+ // 1: Explicitly marked in our .inf file
if (inf != null && inf.containsKey(Utils.PACK_ARGS)) {
return inf.getProperty(Utils.PACK_ARGS);
}
- //2: Defaults set in one of our containing jars
+ // 2: Defaults set in one of our containing jars
for (Properties container : containers) {
if (container.containsKey(Utils.DEFAULT_PACK_ARGS)) {
return container.getProperty(Utils.DEFAULT_PACK_ARGS);
}
}
- //3: Set by name in outside pack.properties file
+ // 3: Set by name in outside pack.properties file
Properties options = getOptions();
String argsKey = input.getName() + Utils.PACK_ARGS_SUFFIX;
if (options.containsKey(argsKey)) {
return options.getProperty(argsKey);
}
- //4: Set by default in outside pack.properties file
+ // 4: Set by default in outside pack.properties file
if (options.containsKey(Utils.DEFAULT_PACK_ARGS)) {
return options.getProperty(Utils.DEFAULT_PACK_ARGS);
}
@@ -175,7 +184,7 @@ public class PackStep extends CommandStep {
if (input == null || inf == null)
return false;
- //don't be verbose to check if we should mark the inf
+ // don't be verbose to check if we should mark the inf
boolean v = verbose;
verbose = false;
if (!shouldPack(input, containers, inf)) {
@@ -184,12 +193,13 @@ public class PackStep extends CommandStep {
}
verbose = v;
- //mark as conditioned if not previously marked. A signed jar is assumed to be previously conditioned.
+ // mark as conditioned if not previously marked. A signed jar is assumed to be
+ // previously conditioned.
if (inf.getProperty(Utils.MARK_PROPERTY) != null)
return false;
inf.put(Utils.MARK_PROPERTY, "true"); //$NON-NLS-1$
- //record arguments used
+ // record arguments used
String arguments = inf.getProperty(Utils.PACK_ARGS);
if (arguments == null) {
arguments = getArguments(input, inf, containers);
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackUnpackStep.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackUnpackStep.java
index f9e9b6398..fe15d241b 100644
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackUnpackStep.java
+++ b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/PackUnpackStep.java
@@ -18,9 +18,12 @@ import java.io.IOException;
import java.util.*;
/**
- * @author aniefer@ca.ibm.com
- *
+ * @noreference This class is not intended to be referenced by clients.
+ * @noextend This class is not intended to be subclassed by clients.
+ * @noinstantiate This class is not intended to be instantiated by clients.
+ * @deprecated See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a> for details.
*/
+@Deprecated(forRemoval = true, since = "1.2.0")
public class PackUnpackStep extends PackStep {
private Set<String> exclusions = null;
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/UnpackStep.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/UnpackStep.java
index 894bf7c00..915f5598b 100644
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/UnpackStep.java
+++ b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/UnpackStep.java
@@ -18,6 +18,13 @@ import java.io.IOException;
import java.util.List;
import java.util.Properties;
+/**
+ * @noreference This class is not intended to be referenced by clients.
+ * @noinstantiate This class is not intended to be instantiated by clients.
+ * @noextend This class is not intended to be subclassed by clients.
+ * @deprecated See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a> for details.
+ */
+@Deprecated(forRemoval = true, since = "1.2.0")
public class UnpackStep extends CommandStep {
public static final String UNPACKER_PROPERTY = "org.eclipse.update.jarprocessor.Unpacker"; //$NON-NLS-1$
private static Boolean canUnpack = null;
@@ -39,7 +46,7 @@ public class UnpackStep extends CommandStep {
if (location == null) {
continue;
}
- result = execute(new String[]{location, "-V"}); //$NON-NLS-1$
+ result = execute(new String[] { location, "-V" }); //$NON-NLS-1$
if (result == 0) {
unpackCommand = location;
canUnpack = Boolean.TRUE;
@@ -82,9 +89,10 @@ public class UnpackStep extends CommandStep {
String options = getOptions().getProperty(input.getName() + ".unpack.args"); //$NON-NLS-1$
String[] cmd = null;
if (options != null) {
- cmd = new String[] {unpackCommand, options, input.getCanonicalPath(), unpacked.getCanonicalPath()};
+ cmd = new String[] { unpackCommand, options, input.getCanonicalPath(),
+ unpacked.getCanonicalPath() };
} else {
- cmd = new String[] {unpackCommand, input.getCanonicalPath(), unpacked.getCanonicalPath()};
+ cmd = new String[] { unpackCommand, input.getCanonicalPath(), unpacked.getCanonicalPath() };
}
int result = execute(cmd, verbose);
if (result != 0 && verbose)
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Utils.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Utils.java
index 74f4f8382..d24dbc30d 100644
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Utils.java
+++ b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/Utils.java
@@ -30,51 +30,108 @@ public class Utils {
/*
* Properties found in outer pack.properties file
*/
- //comma separated list of jars to exclude from sigining
+ // comma separated list of jars to exclude from sigining
public static final String SIGN_EXCLUDES = "sign.excludes"; //$NON-NLS-1$
- //comma separated list of jars to exlclude from packing
+ // comma separated list of jars to exlclude from packing
+ /**
+ * @noreference This field is not intended to be referenced by clients.
+ * @deprecated See <a href=
+ * "https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a>
+ * for details.
+ */
+ @Deprecated(forRemoval = true, since = "1.2.0")
public static final String PACK_EXCLUDES = "pack.excludes"; //$NON-NLS-1$
- //Suffix used when specifying arguments to use when running pack200 on a jar
+ // Suffix used when specifying arguments to use when running pack200 on a jar
+
+ /**
+ * @noreference This field is not intended to be referenced by clients.
+ * @deprecated See <a href=
+ * "https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a>
+ * for details.
+ */
+ @Deprecated(forRemoval = true, since = "1.2.0")
public static final String PACK_ARGS_SUFFIX = ".pack.args"; //$NON-NLS-1$
/*
* Properties found in both pack.properties and eclipse.inf
*/
- // Default arguments to use when running pack200.
- // Affects all jars when specified in pack.properties, affects children when specified in eclipse.inf
+ // Default arguments to use when running pack200.
+ // Affects all jars when specified in pack.properties, affects children when
+ // specified in eclipse.inf
+ /**
+ * @noreference This field is not intended to be referenced by clients.
+ * @deprecated See <a href=
+ * "https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a>
+ * for details.
+ */
+ @Deprecated(forRemoval = true, since = "1.2.0")
public static final String DEFAULT_PACK_ARGS = "pack200.default.args"; //$NON-NLS-1$
/*
* Properties found in eclipse.inf file
*/
- //This jar has been conditioned with pack200
+ // This jar has been conditioned with pack200
+ /**
+ * @noreference This field is not intended to be referenced by clients.
+ * @deprecated See <a href=
+ * "https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a>
+ * for details.
+ */
+ @Deprecated(forRemoval = true, since = "1.2.0")
public static final String MARK_PROPERTY = "pack200.conditioned"; //$NON-NLS-1$
- //Exclude this jar from processing
+ // Exclude this jar from processing
public static final String MARK_EXCLUDE = "jarprocessor.exclude"; //$NON-NLS-1$
- //Exclude this jar from pack200
+ // Exclude this jar from pack200
public static final String MARK_EXCLUDE_PACK = "jarprocessor.exclude.pack"; //$NON-NLS-1$
- //Exclude this jar from signing
+ // Exclude this jar from signing
public static final String MARK_EXCLUDE_SIGN = "jarprocessor.exclude.sign"; //$NON-NLS-1$
- //Exclude this jar's children from processing
+ // Exclude this jar's children from processing
public static final String MARK_EXCLUDE_CHILDREN = "jarprocessor.exclude.children"; //$NON-NLS-1$
- //Exclude this jar's children from pack200
+ // Exclude this jar's children from pack200
public static final String MARK_EXCLUDE_CHILDREN_PACK = "jarprocessor.exclude.children.pack"; //$NON-NLS-1$
- //Exclude this jar's children from signing
+ // Exclude this jar's children from signing
public static final String MARK_EXCLUDE_CHILDREN_SIGN = "jarprocessor.exclude.children.sign"; //$NON-NLS-1$
- //Arguments used in pack200 for this jar
+ // Arguments used in pack200 for this jar
+ /**
+ * @noreference This field is not intended to be referenced by clients.
+ * @deprecated See <a href=
+ * "https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a>
+ * for details.
+ */
+ @Deprecated(forRemoval = true, since = "1.2.0")
public static final String PACK_ARGS = "pack200.args"; //$NON-NLS-1$
-
+ /**
+ * @noreference This field is not intended to be referenced by clients.
+ * @deprecated See <a href=
+ * "https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a>
+ * for details.
+ */
+ @Deprecated(forRemoval = true, since = "1.2.0")
public static final String PACK200_PROPERTY = "org.eclipse.update.jarprocessor.pack200"; //$NON-NLS-1$
public static final String JRE = "@jre"; //$NON-NLS-1$
public static final String PATH = "@path"; //$NON-NLS-1$
public static final String NONE = "@none"; //$NON-NLS-1$
-
+ /**
+ * @noreference This field is not intended to be referenced by clients.
+ * @deprecated See <a href=
+ * "https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a>
+ * for details.
+ */
+ @Deprecated(forRemoval = true, since = "1.2.0")
public static final String PACKED_SUFFIX = ".pack.gz"; //$NON-NLS-1$
public static final String JAR_SUFFIX = ".jar"; //$NON-NLS-1$
public static final FileFilter JAR_FILTER = pathname -> pathname.isFile() && pathname.getName().endsWith(".jar"); //$NON-NLS-1$
-
- public static final FileFilter PACK_GZ_FILTER = pathname -> pathname.isFile() && pathname.getName().endsWith(JarProcessor.PACKED_SUFFIX);
+ /**
+ * @noreference This field is not intended to be referenced by clients.
+ * @deprecated See <a href=
+ * "https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a>
+ * for details.
+ */
+ @SuppressWarnings("removal")
+ @Deprecated(forRemoval = true, since = "1.2.0")
+ public static final FileFilter PACK_GZ_FILTER = pathname -> pathname.isFile()
+ && pathname.getName().endsWith(JarProcessor.PACKED_SUFFIX);
public static void close(Object stream) {
if (stream != null) {
@@ -86,46 +143,54 @@ public class Utils {
else if (stream instanceof JarFile)
((JarFile) stream).close();
} catch (IOException e) {
- //ignore
+ // ignore
}
}
}
/**
- * get the set of commands to try to execute pack/unpack
+ * get the set of commands to try to execute pack/unpack
+ *
* @param cmd the command, either "pack200" or "unpack200"
* @return String [] or null
+ *
+ * @noreference This method is not intended to be referenced by clients.
+ * @deprecated See <a href=
+ * "https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a>
+ * for details.
*/
+ @Deprecated(forRemoval = true, since = "1.2.0")
public static String[] getPack200Commands(String cmd) {
String[] locations = null;
String prop = System.getProperty(PACK200_PROPERTY);
String javaHome = System.getProperty("java.home"); //$NON-NLS-1$
if (null == prop) {
- locations = new String[] {javaHome + "/bin/" + cmd, cmd}; //$NON-NLS-1$
- } else switch (prop) {
+ locations = new String[] { javaHome + "/bin/" + cmd, cmd }; //$NON-NLS-1$
+ } else
+ switch (prop) {
case NONE:
return null;
case JRE:
- locations = new String[] {javaHome + "/bin/" + cmd}; //$NON-NLS-1$
+ locations = new String[] { javaHome + "/bin/" + cmd }; //$NON-NLS-1$
break;
case PATH:
- locations = new String[] {cmd};
+ locations = new String[] { cmd };
break;
default:
- locations = new String[] {prop + "/" + cmd}; //$NON-NLS-1$
+ locations = new String[] { prop + "/" + cmd }; //$NON-NLS-1$
break;
- }
+ }
return locations;
}
/**
- * Transfers all available bytes from the given input stream to the given
- * output stream. Closes both streams if close == true, regardless of failure.
- * Flushes the destination stream if close == false
+ * Transfers all available bytes from the given input stream to the given output
+ * stream. Closes both streams if close == true, regardless of failure. Flushes
+ * the destination stream if close == false
*
* @param source
* @param destination
- * @param close
+ * @param close
* @throws IOException
*/
public static void transferStreams(InputStream source, OutputStream destination, boolean close) throws IOException {
@@ -151,9 +216,9 @@ public class Utils {
/**
* Deletes all the files and directories from the given root down (inclusive).
- * Returns false if we could not delete some file or an exception occurred
- * at any point in the deletion.
- * Even if an exception occurs, a best effort is made to continue deleting.
+ * Returns false if we could not delete some file or an exception occurred at
+ * any point in the deletion. Even if an exception occurs, a best effort is made
+ * to continue deleting.
*/
public static boolean clear(java.io.File root) {
boolean result = clearChildren(root);
@@ -167,26 +232,32 @@ public class Utils {
}
/**
- * Deletes all the files and directories from the given root down, except for
- * the root itself.
- * Returns false if we could not delete some file or an exception occurred
- * at any point in the deletion.
- * Even if an exception occurs, a best effort is made to continue deleting.
+ * Deletes all the files and directories from the given root down, except for
+ * the root itself. Returns false if we could not delete some file or an
+ * exception occurred at any point in the deletion. Even if an exception occurs,
+ * a best effort is made to continue deleting.
*/
public static boolean clearChildren(java.io.File root) {
boolean result = true;
if (root.isDirectory()) {
String[] list = root.list();
- // for some unknown reason, list() can return null.
+ // for some unknown reason, list() can return null.
// Just skip the children If it does.
if (list != null)
for (String list1 : list) {
result &= clear(new java.io.File(root, list1));
- }
+ }
}
return result;
}
+ /**
+ * @noreference This method is not intended to be referenced by clients.
+ * @deprecated See <a href=
+ * "https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a>
+ * for details.
+ */
+ @Deprecated(forRemoval = true, since = "1.2.0")
public static Set<String> getPackExclusions(Properties properties) {
if (properties == null)
return Collections.emptySet();
@@ -219,13 +290,8 @@ public class Utils {
}
public static String concat(String[] array) {
- StringBuilder buffer = new StringBuilder();
- for (int i = 0; i < array.length; i++) {
- if (i > 0)
- buffer.append(' ');
- buffer.append(array[i]);
- }
- return buffer.toString();
+ String buffer = String.join(String.valueOf(' '), array);
+ return buffer;
}
public static String[] toStringArray(String input, String separator) {
@@ -239,8 +305,10 @@ public class Utils {
}
/**
- * Get the properties from the eclipse.inf file from the given jar. If the file is not a jar, null is returned.
- * If the file is a jar, but does not contain an eclipse.inf file, an empty Properties object is returned.
+ * Get the properties from the eclipse.inf file from the given jar. If the file
+ * is not a jar, null is returned. If the file is a jar, but does not contain an
+ * eclipse.inf file, an empty Properties object is returned.
+ *
* @param jarFile
* @return The eclipse.inf properties for the given jar file
*/
@@ -263,7 +331,7 @@ public class Utils {
}
return new Properties();
} catch (ZipException e) {
- //not a jar, don't bother logging this.
+ // not a jar, don't bother logging this.
return null;
} catch (IOException e) {
if (verbose) {
@@ -279,27 +347,29 @@ public class Utils {
public static boolean shouldSkipJar(File input, boolean processAll, boolean verbose) {
Properties inf = getEclipseInf(input, verbose);
if (inf == null) {
- //not a jar, could be a pack.gz
+ // not a jar, could be a pack.gz
return false;
}
String exclude = inf.getProperty(MARK_EXCLUDE);
- //was marked as exclude, we should skip
+ // was marked as exclude, we should skip
if (exclude != null && Boolean.parseBoolean(exclude))
return true;
- //process all was set, don't skip
+ // process all was set, don't skip
if (processAll)
return false;
- //otherwise, we skip if not marked marked
+ // otherwise, we skip if not marked marked
String marked = inf.getProperty(MARK_PROPERTY);
return !Boolean.parseBoolean(marked);
}
/**
- * Stores the given properties in the output stream. We store the properties
- * in sorted order so that the signing hash doesn't change if the properties didn't change.
+ * Stores the given properties in the output stream. We store the properties in
+ * sorted order so that the signing hash doesn't change if the properties didn't
+ * change.
+ *
* @param props
* @param stream
*/
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/ZipProcessor.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/ZipProcessor.java
index a055ac66e..3242b1c9a 100644
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/ZipProcessor.java
+++ b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/ZipProcessor.java
@@ -47,10 +47,12 @@ public class ZipProcessor {
return workingDirectory;
}
+ @SuppressWarnings("removal")
private boolean repacking() {
return options.repack || (options.pack && options.signCommand != null);
}
+ @SuppressWarnings("removal")
public void processZip(File zipFile) throws ZipException, IOException {
if (options.verbose)
System.out.println("Processing " + zipFile.getPath()); //$NON-NLS-1$
@@ -74,7 +76,9 @@ public class ZipProcessor {
try (ZipOutputStream zipOut = new ZipOutputStream(new FileOutputStream(outputFile))) {
Enumeration<? extends ZipEntry> entries = zip.entries();
if (entries.hasMoreElements()) {
- for (ZipEntry entry = entries.nextElement(); entry != null; entry = entries.hasMoreElements() ? (ZipEntry) entries.nextElement() : null) {
+ for (ZipEntry entry = entries.nextElement(); entry != null; entry = entries.hasMoreElements()
+ ? (ZipEntry) entries.nextElement()
+ : null) {
String name = entry.getName();
InputStream entryStream = zip.getInputStream(entry);
@@ -98,14 +102,15 @@ public class ZipProcessor {
boolean skip = Utils.shouldSkipJar(extractedFile, options.processAll, options.verbose);
if (skip) {
- //skipping this file
+ // skipping this file
entryStream = new FileInputStream(extractedFile);
if (options.verbose)
System.out.println(entry.getName() + " is not marked, skipping."); //$NON-NLS-1$
} else {
if (options.unpack) {
File result = processor.processJar(extractedFile);
- name = name.substring(0, name.length() - extractedFile.getName().length()) + result.getName();
+ name = name.substring(0, name.length() - extractedFile.getName().length())
+ + result.getName();
extractedFile = result;
} else {
if (repack || sign) {
@@ -122,22 +127,27 @@ public class ZipProcessor {
File modifiedFile = processor.processJar(extractedFile);
if (modifiedFile.exists()) {
try {
- String newName = name.substring(0, name.length() - extractedFile.getName().length()) + modifiedFile.getName();
+ String newName = name.substring(0,
+ name.length() - extractedFile.getName().length())
+ + modifiedFile.getName();
if (options.verbose) {
- System.out.println("Adding " + newName + " to " + outputFile.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
+ System.out.println(
+ "Adding " + newName + " to " + outputFile.getPath()); //$NON-NLS-1$ //$NON-NLS-2$
System.out.println();
}
ZipEntry zipEntry = new ZipEntry(newName);
entryStream = new FileInputStream(modifiedFile);
zipOut.putNextEntry(zipEntry);
- Utils.transferStreams(entryStream, zipOut, false); //we want to keep zipOut open
+ Utils.transferStreams(entryStream, zipOut, false); // we want to keep
+ // zipOut open
entryStream.close();
Utils.clear(modifiedFile);
} catch (IOException e) {
Utils.close(entryStream);
if (options.verbose) {
e.printStackTrace();
- System.out.println("Warning: Problem reading " + modifiedFile.getPath() + "."); //$NON-NLS-1$//$NON-NLS-2$
+ System.out.println(
+ "Warning: Problem reading " + modifiedFile.getPath() + "."); //$NON-NLS-1$//$NON-NLS-2$
}
}
entryStream = null;
@@ -152,7 +162,8 @@ public class ZipProcessor {
} catch (IOException e) {
if (options.verbose) {
e.printStackTrace();
- System.out.println("Warning: Problem reading " + extractedFile.getPath() + "."); //$NON-NLS-1$//$NON-NLS-2$
+ System.out.println(
+ "Warning: Problem reading " + extractedFile.getPath() + "."); //$NON-NLS-1$//$NON-NLS-2$
}
}
}
@@ -170,7 +181,8 @@ public class ZipProcessor {
zipOut.closeEntry();
} catch (ZipException e) {
if (options.verbose) {
- System.out.println("Warning: " + name + " already exists in " + outputFile.getName() + ". Skipping."); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
+ System.out.println("Warning: " + name + " already exists in " + outputFile.getName() //$NON-NLS-1$//$NON-NLS-2$
+ + ". Skipping."); //$NON-NLS-1$
}
}
entryStream.close();
@@ -205,6 +217,7 @@ public class ZipProcessor {
return result;
}
+ @SuppressWarnings("removal")
private void initialize(ZipFile zip) {
ZipEntry entry = zip.getEntry("pack.properties"); //$NON-NLS-1$
properties = new Properties();
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/Verifier.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/Verifier.java
index 03f1c61fd..d21aea9a6 100644
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/Verifier.java
+++ b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/equinox/internal/p2/jarprocessor/verifier/Verifier.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2017 IBM Corporation and others.
+ * Copyright (c) 2007, 2021 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -21,11 +21,14 @@ import org.eclipse.equinox.internal.p2.jarprocessor.UnpackStep;
import org.eclipse.equinox.internal.p2.jarprocessor.Utils;
import org.eclipse.internal.provisional.equinox.p2.jarprocessor.*;
+@SuppressWarnings("removal")
public class Verifier extends JarProcessorExecutor {
private static void printUsage() {
- System.out.println("This tool verifies that unpacking a pack.gz file with the jarprocessor results in a valid jar file."); //$NON-NLS-1$
- System.out.println("Usage: java -cp jarprocessor.jar org.eclipse.update.internal.jarprocessor.verifier.Verifier -dir <workingDirectory> input [input]"); //$NON-NLS-1$
+ System.out.println(
+ "This tool verifies that unpacking a pack.gz file with the jarprocessor results in a valid jar file."); //$NON-NLS-1$
+ System.out.println(
+ "Usage: java -cp jarprocessor.jar org.eclipse.update.internal.jarprocessor.verifier.Verifier -dir <workingDirectory> input [input]"); //$NON-NLS-1$
System.out.println(""); //$NON-NLS-1$
System.out.println("-dir : specifies a working directory where pack.gz files can be temporarily unpacked"); //$NON-NLS-1$
System.out.println("input : a list of directories and/or pack.gz files to verify."); //$NON-NLS-1$
@@ -44,7 +47,7 @@ public class Verifier extends JarProcessorExecutor {
if (args.length == 0) {
workingDirectory = "."; //$NON-NLS-1$
- input = new String[] {"."}; //$NON-NLS-1$
+ input = new String[] { "." }; //$NON-NLS-1$
} else {
int idx = 0;
if (args[0] == "-help") { //$NON-NLS-1$
@@ -85,8 +88,10 @@ public class Verifier extends JarProcessorExecutor {
Properties properties = new Properties();
- /* There is no need to use a full processor to do the verification unless we want to verify nested jars as well.
- * So for now, use a custom processor to just call the verify step directly.
+ /*
+ * There is no need to use a full processor to do the verification unless we
+ * want to verify nested jars as well. So for now, use a custom processor to
+ * just call the verify step directly.
*/
final VerifyStep verifyStep = new VerifyStep(properties, false);
JarProcessor verifier = new JarProcessor() {
@@ -95,7 +100,7 @@ public class Verifier extends JarProcessorExecutor {
Iterator<IProcessStep> iterator = getStepIterator();
if (iterator.hasNext() && iterator.next() instanceof VerifyStep)
return verifyStep.postProcess(inputFile, workingDirectory, null);
- //else we are unpacking, call super
+ // else we are unpacking, call super
return super.processJar(inputFile);
}
};
@@ -115,11 +120,14 @@ public class Verifier extends JarProcessorExecutor {
}
@Override
- public void addPackStep(JarProcessor processor, Properties properties, JarProcessorExecutor.Options processOptions) {
+ @Deprecated(forRemoval = true, since = "1.2.0")
+ public void addPackStep(JarProcessor processor, Properties properties,
+ JarProcessorExecutor.Options processOptions) {
processor.addProcessStep(new VerifyStep(properties, processOptions.verbose));
}
@Override
+ @Deprecated(forRemoval = true, since = "1.2.0")
public void addPackUnpackStep(JarProcessor processor, Properties properties, Options processOptions) {
processor.addProcessStep(new UnpackStep(properties, processOptions.verbose));
}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessor.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessor.java
index 19c0868c3..5605876ca 100644
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessor.java
+++ b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessor.java
@@ -19,6 +19,11 @@ import java.util.jar.*;
import org.eclipse.equinox.internal.p2.jarprocessor.*;
public class JarProcessor {
+ /**
+ * @noreference This field is not intended to be referenced by clients.
+ * @deprecated See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a> for details.
+ */
+ @Deprecated(forRemoval = true, since = "1.2.0")
public static final String PACKED_SUFFIX = "pack.gz"; //$NON-NLS-1$
private List<IProcessStep> steps = new ArrayList<>();
@@ -28,6 +33,11 @@ public class JarProcessor {
private boolean processAll = false;
private LinkedList<Properties> containingInfs = new LinkedList<>();
+ /**
+ * @noreference This method is not intended to be referenced by clients.
+ * @deprecated See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a> for details.
+ */
+ @Deprecated(forRemoval = true, since = "1.2.0")
static public JarProcessor getUnpackProcessor(Properties properties) {
if (!canPerformUnpack())
throw new UnsupportedOperationException();
@@ -36,6 +46,11 @@ public class JarProcessor {
return processor;
}
+ /**
+ * @noreference This method is not intended to be referenced by clients.
+ * @deprecated See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a> for details.
+ */
+ @Deprecated(forRemoval = true, since = "1.2.0")
static public JarProcessor getPackProcessor(Properties properties) {
if (!canPerformPack())
throw new UnsupportedOperationException();
@@ -44,10 +59,20 @@ public class JarProcessor {
return processor;
}
+ /**
+ * @noreference This method is not intended to be referenced by clients.
+ * @deprecated See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a> for details.
+ */
+ @Deprecated(forRemoval = true, since = "1.2.0")
static public boolean canPerformPack() {
return PackStep.canPack();
}
+ /**
+ * @noreference This method is not intended to be referenced by clients.
+ * @deprecated See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a> for details.
+ */
+ @Deprecated(forRemoval = true, since = "1.2.0")
static public boolean canPerformUnpack() {
return UnpackStep.canUnpack();
}
@@ -82,21 +107,24 @@ public class JarProcessor {
}
/**
- * Recreate a jar file. The replacements map specifies entry names to be replaced, the replacements are
- * expected to be found in directory.
+ * Recreate a jar file. The replacements map specifies entry names to be
+ * replaced, the replacements are expected to be found in directory.
*
- * @param jar - The input jar
- * @param outputJar - the output
+ * @param jar - The input jar
+ * @param outputJar - the output
* @param replacements - map of entryName -> new entryName
- * @param directory - location to find file for new entryName
+ * @param directory - location to find file for new entryName
* @throws IOException
*/
- private void recreateJar(JarFile jar, JarOutputStream outputJar, Map<String, String> replacements, File directory, Properties inf) throws IOException {
+ private void recreateJar(JarFile jar, JarOutputStream outputJar, Map<String, String> replacements, File directory,
+ Properties inf) throws IOException {
InputStream in = null;
boolean marked = false;
try {
Enumeration<JarEntry> entries = jar.entries();
- for (JarEntry entry = entries.nextElement(); entry != null; entry = entries.hasMoreElements() ? (JarEntry) entries.nextElement() : null) {
+ for (JarEntry entry = entries.nextElement(); entry != null; entry = entries.hasMoreElements()
+ ? (JarEntry) entries.nextElement()
+ : null) {
File replacement = null;
JarEntry newEntry = null;
if (replacements.containsKey(entry.getName())) {
@@ -110,11 +138,13 @@ public class JarProcessor {
} catch (Exception e) {
if (verbose) {
e.printStackTrace();
- System.out.println("Warning: Problem reading " + replacement.getPath() + ", using " + jar.getName() + File.separator + entry.getName() + " instead."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ System.out.println("Warning: Problem reading " + replacement.getPath() + ", using " //$NON-NLS-1$ //$NON-NLS-2$
+ + jar.getName() + File.separator + entry.getName() + " instead."); //$NON-NLS-1$
}
}
} else if (verbose) {
- System.out.println("Warning: " + replacement.getPath() + " not found, using " + jar.getName() + File.separator + entry.getName() + " instead."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ System.out.println("Warning: " + replacement.getPath() + " not found, using " //$NON-NLS-1$ //$NON-NLS-2$
+ + jar.getName() + File.separator + entry.getName() + " instead."); //$NON-NLS-1$
}
}
}
@@ -133,7 +163,8 @@ public class JarProcessor {
newEntry.setTime(entry.getTime());
outputJar.putNextEntry(newEntry);
if (entry.getName().equals(Utils.MARK_FILE_NAME)) {
- //The eclipse.inf file was read in earlier, don't need to reread it, just write it out now
+ // The eclipse.inf file was read in earlier, don't need to reread it, just write
+ // it out now
Utils.storeProperties(inf, outputJar);
marked = true;
} else {
@@ -142,7 +173,7 @@ public class JarProcessor {
outputJar.closeEntry();
in.close();
- //delete the nested jar file
+ // delete the nested jar file
if (replacement != null) {
replacement.delete();
}
@@ -170,9 +201,10 @@ public class JarProcessor {
return result;
}
- private void extractEntries(JarFile jar, File tempDir, Map<String, String> data, Properties inf) throws IOException {
+ private void extractEntries(JarFile jar, File tempDir, Map<String, String> data, Properties inf)
+ throws IOException {
if (inf != null) {
- //skip if excluding children
+ // skip if excluding children
if (inf.containsKey(Utils.MARK_EXCLUDE_CHILDREN)) {
String excludeChildren = inf.getProperty(Utils.MARK_EXCLUDE_CHILDREN);
if (Boolean.parseBoolean(excludeChildren))
@@ -187,7 +219,9 @@ public class JarProcessor {
Enumeration<JarEntry> entries = jar.entries();
if (entries.hasMoreElements()) {
- for (JarEntry entry = entries.nextElement(); entry != null; entry = entries.hasMoreElements() ? (JarEntry) entries.nextElement() : null) {
+ for (JarEntry entry = entries.nextElement(); entry != null; entry = entries.hasMoreElements()
+ ? (JarEntry) entries.nextElement()
+ : null) {
String name = entry.getName();
String newName = recursionEffect(name);
if (newName != null) {
@@ -196,7 +230,7 @@ public class JarProcessor {
System.out.print(" "); //$NON-NLS-1$
System.out.println("Processing nested file: " + name); //$NON-NLS-1$
}
- //extract entry to temp directory
+ // extract entry to temp directory
File extracted = ZipProcessor.createSubPathFile(tempDir, name);
File parentDir = extracted.getParentFile();
if (!parentDir.exists())
@@ -207,14 +241,14 @@ public class JarProcessor {
try {
in = jar.getInputStream(entry);
out = new BufferedOutputStream(new FileOutputStream(extracted));
- Utils.transferStreams(in, out, true); //this will close both streams
+ Utils.transferStreams(in, out, true); // this will close both streams
} finally {
Utils.close(in);
Utils.close(out);
}
extracted.setLastModified(entry.getTime());
- //recurse
+ // recurse
String dir = getWorkingDirectory();
try {
containingInfs.addFirst(inf);
@@ -227,7 +261,7 @@ public class JarProcessor {
containingInfs.removeFirst();
}
- //delete the extracted item leaving the recursion result
+ // delete the extracted item leaving the recursion result
if (!name.equals(newName))
extracted.delete();
}
@@ -277,7 +311,7 @@ public class JarProcessor {
if (skip)
System.out.println("Skipping " + input.getPath()); //$NON-NLS-1$
else {
- System.out.print("Running "); //$NON-NLS-1$
+ System.out.print("Running "); //$NON-NLS-1$
for (IProcessStep step : steps) {
System.out.print(step.getStepName() + " "); //$NON-NLS-1$
}
@@ -286,14 +320,15 @@ public class JarProcessor {
}
if (skip) {
- //This jar was not marked as conditioned, and we are only processing conditioned jars, so do nothing
+ // This jar was not marked as conditioned, and we are only processing
+ // conditioned jars, so do nothing
return input;
}
- //pre
+ // pre
File workingFile = preProcess(input, workingDir);
- //Extract entries from jar and recurse on them
+ // Extract entries from jar and recurse on them
if (depth == 0) {
tempDir = new File(workingDir, "temp." + workingFile.getName()); //$NON-NLS-1$
} else {
@@ -312,8 +347,9 @@ public class JarProcessor {
if (inf != null)
infAdjusted = adjustInf(workingFile, inf);
- //Recreate the jar with replacements.
- //This is not strictly necessary if we didn't change the inf file and didn't change any content
+ // Recreate the jar with replacements.
+ // This is not strictly necessary if we didn't change the inf file and didn't
+ // change any content
if (!replacements.isEmpty() || infAdjusted) {
File tempJar = null;
tempJar = new File(tempDir, workingFile.getName());
@@ -338,10 +374,10 @@ public class JarProcessor {
Utils.close(jar);
}
- //post
+ // post
File result = postProcess(workingFile, workingDir);
- //have to normalize after the post steps
+ // have to normalize after the post steps
normalize(result, workingDir);
// If the original input is where we ended up, just return it
@@ -369,7 +405,7 @@ public class JarProcessor {
private void normalize(File input, File directory) {
if (input.getName().endsWith(JarProcessor.PACKED_SUFFIX)) {
- //not a jar
+ // not a jar
return;
}
try {
@@ -381,7 +417,9 @@ public class JarProcessor {
jar = new JarFile(input, false);
jarOut = new JarOutputStream(new BufferedOutputStream(new FileOutputStream(tempJar)));
Enumeration<JarEntry> entries = jar.entries();
- for (JarEntry entry = entries.nextElement(); entry != null; entry = entries.hasMoreElements() ? (JarEntry) entries.nextElement() : null) {
+ for (JarEntry entry = entries.nextElement(); entry != null; entry = entries.hasMoreElements()
+ ? (JarEntry) entries.nextElement()
+ : null) {
JarEntry newEntry = new JarEntry(entry.getName());
newEntry.setTime(entry.getTime());
jarIn = new BufferedInputStream(jar.getInputStream(entry));
@@ -391,7 +429,7 @@ public class JarProcessor {
jarIn.close();
}
} catch (JarException e) {
- //not a jar
+ // not a jar
return;
} finally {
Utils.close(jarOut);
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessorExecutor.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessorExecutor.java
index 499961491..d1d3f2a0e 100644
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessorExecutor.java
+++ b/bundles/org.eclipse.equinox.p2.jarprocessor/src/org/eclipse/internal/provisional/equinox/p2/jarprocessor/JarProcessorExecutor.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2009 IBM Corporation and others.
+ * Copyright (c) 2007, 2021 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -24,8 +24,11 @@ public class JarProcessorExecutor {
public static class Options {
public String outputDir = "."; //$NON-NLS-1$
public String signCommand = null;
+ @Deprecated(forRemoval = true, since = "1.2.0")
public boolean pack = false;
+ @Deprecated(forRemoval = true, since = "1.2.0")
public boolean repack = false;
+ @Deprecated(forRemoval = true, since = "1.2.0")
public boolean unpack = false;
public boolean verbose = false;
public boolean processAll = false;
@@ -36,6 +39,7 @@ public class JarProcessorExecutor {
private Set<String> packExclusions = null;
private Set<String> signExclusions = null;
+ @SuppressWarnings("removal")
public void runJarProcessor(Options processOptions) {
this.options = processOptions;
if (options.input.isFile() && options.input.getName().endsWith(".zip")) { //$NON-NLS-1$
@@ -59,7 +63,7 @@ public class JarProcessorExecutor {
processor.setProcessAll(options.processAll);
processor.setVerbose(options.verbose);
- //load options file
+ // load options file
Properties properties = new Properties();
if (options.input.isDirectory()) {
File packProperties = new File(options.input, "pack.properties"); //$NON-NLS-1$
@@ -90,6 +94,7 @@ public class JarProcessorExecutor {
}
}
+ @SuppressWarnings("removal")
protected FileFilter createFileFilter(Options processOptions) {
return processOptions.unpack ? Utils.PACK_GZ_FILTER : Utils.JAR_FILTER;
}
@@ -142,7 +147,8 @@ public class JarProcessorExecutor {
return packExclusions == null ? true : !packExclusions.contains(name);
}
- protected void process(File input, FileFilter filter, boolean verbose, JarProcessor processor, Properties packProperties) throws FileNotFoundException {
+ protected void process(File input, FileFilter filter, boolean verbose, JarProcessor processor,
+ Properties packProperties) throws FileNotFoundException {
if (!input.exists())
throw new FileNotFoundException();
@@ -150,7 +156,7 @@ public class JarProcessorExecutor {
if (input.isDirectory()) {
files = input.listFiles();
} else if (filter.accept(input)) {
- files = new File[] {input};
+ files = new File[] { input };
} else
return;
for (int i = 0; i < files.length; i++) {
@@ -190,7 +196,8 @@ public class JarProcessorExecutor {
}
}
- protected void processDirectory(File input, FileFilter filter, boolean verbose, JarProcessor processor, Properties packProperties) throws FileNotFoundException {
+ protected void processDirectory(File input, FileFilter filter, boolean verbose, JarProcessor processor,
+ Properties packProperties) throws FileNotFoundException {
if (!input.isDirectory())
return;
String dir = processor.getWorkingDirectory();
@@ -199,19 +206,26 @@ public class JarProcessorExecutor {
processor.setWorkingDirectory(dir);
}
- public void addPackUnpackStep(JarProcessor processor, Properties properties, JarProcessorExecutor.Options processOptions) {
+ @Deprecated(forRemoval = true, since = "1.2.0")
+ public void addPackUnpackStep(JarProcessor processor, Properties properties,
+ JarProcessorExecutor.Options processOptions) {
processor.addProcessStep(new PackUnpackStep(properties, processOptions.verbose));
}
- public void addSignStep(JarProcessor processor, Properties properties, JarProcessorExecutor.Options processOptions) {
+ public void addSignStep(JarProcessor processor, Properties properties,
+ JarProcessorExecutor.Options processOptions) {
processor.addProcessStep(new SignCommandStep(properties, processOptions.signCommand, processOptions.verbose));
}
- public void addPackStep(JarProcessor processor, Properties properties, JarProcessorExecutor.Options processOptions) {
+ @Deprecated(forRemoval = true, since = "1.2.0")
+ public void addPackStep(JarProcessor processor, Properties properties,
+ JarProcessorExecutor.Options processOptions) {
processor.addProcessStep(new PackStep(properties, processOptions.verbose));
}
- public void addUnpackStep(JarProcessor processor, Properties properties, JarProcessorExecutor.Options processOptions) {
+ @Deprecated(forRemoval = true, since = "1.2.0")
+ public void addUnpackStep(JarProcessor processor, Properties properties,
+ JarProcessorExecutor.Options processOptions) {
processor.addProcessStep(new UnpackStep(properties, processOptions.verbose));
}
}
diff --git a/bundles/org.eclipse.equinox.p2.jarprocessor/src_ant/org/eclipse/equinox/internal/p2/jarprocessor/ant/JarProcessorTask.java b/bundles/org.eclipse.equinox.p2.jarprocessor/src_ant/org/eclipse/equinox/internal/p2/jarprocessor/ant/JarProcessorTask.java
index e70ffb4fe..475b33fed 100644
--- a/bundles/org.eclipse.equinox.p2.jarprocessor/src_ant/org/eclipse/equinox/internal/p2/jarprocessor/ant/JarProcessorTask.java
+++ b/bundles/org.eclipse.equinox.p2.jarprocessor/src_ant/org/eclipse/equinox/internal/p2/jarprocessor/ant/JarProcessorTask.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2007, 2017 IBM Corporation and others.
+ * Copyright (c) 2007, 2021 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -21,9 +21,8 @@ import org.apache.tools.ant.types.FileSet;
import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExecutor.Options;
/**
- * This task provides massaging facilities for jar files.
- * It supports: signing, unsigning, normalization, packing
- * -
+ * This task provides massaging facilities for jar files. It supports: signing,
+ * unsigning, normalization, packing -
*/
public class JarProcessorTask extends Task {
private final Options options = new Options();
@@ -66,11 +65,15 @@ public class JarProcessorTask extends Task {
signArgs.setProperty(KEYPASS, keypass);
}
+ @Deprecated(forRemoval = true, since = "1.2.0")
public void setPack(boolean pack) {
+ log("Support for pack200 is scheduled for removal after June 2023.", Project.MSG_WARN); //$NON-NLS-1$
options.pack = pack;
}
+ @Deprecated(forRemoval = true, since = "1.2.0")
public void setNormalize(boolean normalize) {
+ log("Support for pack200 is scheduled for removal after June 2023.", Project.MSG_WARN); //$NON-NLS-1$
options.repack = normalize;
}
@@ -88,12 +91,13 @@ public class JarProcessorTask extends Task {
}
}
+ @SuppressWarnings("removal")
private void adjustAndValidateConfiguration() {
- //Sign and pack implies a normalization
+ // Sign and pack implies a normalization
if (options.signCommand != null && options.pack)
options.repack = true;
- //Check that alias, and storepass are set
+ // Check that alias, and storepass are set
if (options.signCommand != null && signArgs.getProperty(UNSIGN) == null) {
if (signArgs.getProperty(ALIAS) == null)
throw new BuildException("Alias must be set"); //$NON-NLS-1$
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/.classpath b/bundles/org.eclipse.equinox.p2.metadata.repository/.classpath
index 030607499..cc48f9f27 100644
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/.classpath
+++ b/bundles/org.eclipse.equinox.p2.metadata.repository/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" output="bin_ant" path="src_ant"/>
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.core.prefs
index f7e77d791..c9e5b47b7 100644
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.metadata.repository/.settings/org.eclipse.jdt.core.prefs
@@ -16,9 +16,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nul
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -34,6 +34,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=error
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -87,6 +88,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -122,7 +124,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -136,7 +139,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
@@ -257,7 +259,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
@@ -328,7 +329,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -473,7 +473,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.metadata.repository/META-INF/MANIFEST.MF
index b2f0e902b..a1e7379eb 100644
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.metadata.repository/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.metadata.repository;singleton:=true
-Bundle-Version: 1.3.500.qualifier
+Bundle-Version: 1.4.0.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Export-Package: org.eclipse.equinox.internal.p2.metadata.repository;
@@ -44,5 +44,5 @@ Import-Package: javax.xml.parsers,
org.xml.sax
Service-Component: OSGI-INF/repositoryManager.xml
Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Automatic-Module-Name: org.eclipse.equinox.p2.metadata.repository
diff --git a/bundles/org.eclipse.equinox.p2.metadata.repository/pom.xml b/bundles/org.eclipse.equinox.p2.metadata.repository/pom.xml
index c112723f5..7149c1c16 100644
--- a/bundles/org.eclipse.equinox.p2.metadata.repository/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.metadata.repository/pom.xml
@@ -14,11 +14,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.metadata.repository</artifactId>
- <version>1.3.500-SNAPSHOT</version>
+ <version>1.4.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.metadata/.classpath b/bundles/org.eclipse.equinox.p2.metadata/.classpath
index eca7bdba8..e801ebfb4 100644
--- a/bundles/org.eclipse.equinox.p2.metadata/.classpath
+++ b/bundles/org.eclipse.equinox.p2.metadata/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.core.prefs
index 90e10df7d..b9b3eb020 100644
--- a/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.metadata/.settings/org.eclipse.jdt.core.prefs
@@ -18,9 +18,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -37,6 +37,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=error
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -94,6 +95,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -130,7 +132,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -144,7 +147,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
@@ -265,7 +267,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
@@ -336,7 +337,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -481,7 +481,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
diff --git a/bundles/org.eclipse.equinox.p2.metadata/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.metadata/META-INF/MANIFEST.MF
index 86573a6fe..b9a3007ad 100644
--- a/bundles/org.eclipse.equinox.p2.metadata/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.metadata/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.metadata;singleton:=true
-Bundle-Version: 2.5.100.qualifier
+Bundle-Version: 2.6.0.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Export-Package: org.eclipse.equinox.internal.p2.metadata;
@@ -85,5 +85,5 @@ Import-Package: org.eclipse.osgi.service.localization;version="1.0.0",
org.eclipse.osgi.util,
org.osgi.framework;version="1.6.0"
Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Automatic-Module-Name: org.eclipse.equinox.p2.metadata
diff --git a/bundles/org.eclipse.equinox.p2.metadata/pom.xml b/bundles/org.eclipse.equinox.p2.metadata/pom.xml
index ec18d0c7e..6d4080cee 100644
--- a/bundles/org.eclipse.equinox.p2.metadata/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.metadata/pom.xml
@@ -4,11 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.metadata</artifactId>
- <version>2.5.100-SNAPSHOT</version>
+ <version>2.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java
index e1fdaa4b3..7d49b306d 100644
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java
+++ b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/InstallableUnit.java
@@ -41,7 +41,7 @@ import org.eclipse.equinox.p2.metadata.expression.IMemberProvider;
public class InstallableUnit implements IInstallableUnit, IMemberProvider {
@SuppressWarnings("serial")
- private static final Map<IFilterExpression, IMatchExpression<IInstallableUnit>> filterCache = new LinkedHashMap<IFilterExpression, IMatchExpression<IInstallableUnit>>() {
+ private static final Map<IFilterExpression, IMatchExpression<IInstallableUnit>> filterCache = new LinkedHashMap<>() {
@Override
public boolean removeEldestEntry(Map.Entry<IFilterExpression, IMatchExpression<IInstallableUnit>> expr) {
return size() > 64;
@@ -73,7 +73,8 @@ public class InstallableUnit implements IInstallableUnit, IMemberProvider {
static {
IExpressionFactory factory = ExpressionUtil.getFactory();
- filterWrap = factory.matches(factory.member(factory.thisVariable(), MEMBER_PROPERTIES), factory.indexedParameter(0));
+ filterWrap = factory.matches(factory.member(factory.thisVariable(), MEMBER_PROPERTIES),
+ factory.indexedParameter(0));
}
private IArtifactKey[] artifacts = NO_ARTIFACTS;
@@ -108,7 +109,7 @@ public class InstallableUnit implements IInstallableUnit, IMemberProvider {
public void addTouchpointData(ITouchpointData newData) {
int tl = touchpointData.length;
if (tl == 0)
- touchpointData = new ITouchpointData[] {newData};
+ touchpointData = new ITouchpointData[] { newData };
else {
ITouchpointData[] newDatas = new ITouchpointData[tl + 1];
System.arraycopy(touchpointData, 0, newDatas, 0, tl);
@@ -168,8 +169,8 @@ public class InstallableUnit implements IInstallableUnit, IMemberProvider {
}
/**
- * Get an <i>unmodifiable copy</i> of the properties
- * associated with the installable unit.
+ * Get an <i>unmodifiable copy</i> of the properties associated with the
+ * installable unit.
*
* @return an <i>unmodifiable copy</i> of the IU properties.
*/
@@ -310,7 +311,7 @@ public class InstallableUnit implements IInstallableUnit, IMemberProvider {
if (capabilities.length == 0) {
this.requires = NO_REQUIRES;
} else {
- //copy array for safety
+ // copy array for safety
this.requires = capabilities.clone();
}
}
@@ -388,7 +389,7 @@ public class InstallableUnit implements IInstallableUnit, IMemberProvider {
if (metaReqs.length == 0) {
this.metaRequires = NO_REQUIRES;
} else {
- //copy array for safety
+ // copy array for safety
this.metaRequires = metaReqs.clone();
}
}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/expression/Member.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/expression/Member.java
index 16079f8ea..36d09904c 100644
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/expression/Member.java
+++ b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/internal/p2/metadata/expression/Member.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2017 Cloudsmith Inc. and others.
+ * Copyright (c) 2009, 2021 Cloudsmith Inc. and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,29 +13,36 @@
*******************************************************************************/
package org.eclipse.equinox.internal.p2.metadata.expression;
-import java.lang.reflect.*;
-import java.util.*;
-import org.eclipse.equinox.p2.metadata.expression.*;
+import java.lang.reflect.InvocationTargetException;
+import java.lang.reflect.Method;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.Collection;
+import java.util.Iterator;
+import java.util.LinkedList;
+import java.util.Map;
+import java.util.Optional;
+import java.util.Queue;
+import org.eclipse.equinox.p2.metadata.expression.IEvaluationContext;
+import org.eclipse.equinox.p2.metadata.expression.IExpressionVisitor;
+import org.eclipse.equinox.p2.metadata.expression.IMemberProvider;
/**
- * <p>An expression that performs member calls to obtain some value
- * from some object instance. It uses standard bean semantics so
- * that an attempt to obtain &quot;value&quot; will cause an
- * attempt to call <code>getValue()</code> and if no such method
- * exists, <code>isValue()</code> and if that doesn't work either,
- * <code>value()</code>.</p>
+ * <p>
+ * An expression that performs member calls to obtain some value from some
+ * object instance. It uses standard bean semantics so that an attempt to obtain
+ * &quot;value&quot; will cause an attempt to call <code>getValue()</code> and
+ * if no such method exists, <code>isValue()</code> and if that doesn't work
+ * either, <code>value()</code>.
+ * </p>
*/
public abstract class Member extends Unary {
public static final class DynamicMember extends Member {
private static final String GET_PREFIX = "get"; //$NON-NLS-1$
private static final String IS_PREFIX = "is"; //$NON-NLS-1$
- private static final Class<?>[] NO_ARG_TYPES = new Class[0];
- private Class<?> lastClass;
-
- private transient Method method;
- private transient String methodName;
+ private transient Method lastMethod;
DynamicMember(Expression operand, String name) {
super(operand, name, Expression.emptyArray);
@@ -53,44 +60,14 @@ public abstract class Member extends Unary {
if (self == null)
throw new IllegalArgumentException("Cannot access member \'" + name + "\' in null"); //$NON-NLS-1$//$NON-NLS-2$
- Class<?> c = self.getClass();
synchronized (this) {
- if (methodName == null) {
- String n = name;
- if (!(n.startsWith(GET_PREFIX) || n.startsWith(IS_PREFIX)))
- n = GET_PREFIX + Character.toUpperCase(n.charAt(0)) + n.substring(1);
- methodName = n;
- }
- if (lastClass == null || !lastClass.isAssignableFrom(c)) {
- Method m;
- for (;;) {
- try {
- m = c.getMethod(methodName, NO_ARG_TYPES);
- if (!Modifier.isPublic(m.getModifiers()))
- throw new NoSuchMethodException();
- break;
- } catch (NoSuchMethodException e) {
- if (methodName.startsWith(GET_PREFIX))
- // Switch from using getXxx() to isXxx()
- methodName = IS_PREFIX + Character.toUpperCase(name.charAt(0)) + name.substring(1);
- else if (methodName.startsWith(IS_PREFIX))
- // Switch from using isXxx() to xxx()
- methodName = name;
- else
- throw new IllegalArgumentException("Cannot find a public member \'" + name + "\' in a " + self.getClass().getName()); //$NON-NLS-1$//$NON-NLS-2$
- }
- }
-
- // Since we already checked that it's public. This will speed
- // up the calls a bit.
- m.setAccessible(true);
- lastClass = c;
- method = m;
- }
-
+ final Method method = (lastMethod != null && lastMethod.getDeclaringClass().isInstance(self))
+ ? lastMethod
+ : findAccessibleMethod(self, name);
+ this.lastMethod = method;
Exception checked;
try {
- return method.invoke(self, NO_ARGS);
+ return method.invoke(self);
} catch (IllegalArgumentException e) {
throw e;
} catch (IllegalAccessException e) {
@@ -103,8 +80,54 @@ public abstract class Member extends Unary {
throw (Error) cause;
checked = (Exception) cause;
}
- throw new RuntimeException("Problem invoking " + methodName + " on a " + self.getClass().getName(), checked); //$NON-NLS-1$ //$NON-NLS-2$
+ throw new RuntimeException(
+ "Problem invoking " + method.getName() + " on a " + self.getClass().getName(), //$NON-NLS-1$ //$NON-NLS-2$
+ checked);
+ }
+ }
+
+ private Collection<String> getMethodNames(String propertyName) {
+ Collection<String> res = new ArrayList<>(3);
+ String n = propertyName;
+ res.add(propertyName); // obj.value()
+ if (!(n.startsWith(GET_PREFIX) || n.startsWith(IS_PREFIX))) {
+ res.add(GET_PREFIX + Character.toUpperCase(n.charAt(0)) + n.substring(1)); // obj.getValue()
+ res.add(IS_PREFIX + Character.toUpperCase(n.charAt(0)) + n.substring(1)); // obj.isValue()
+ }
+ return res;
+ }
+
+ private Method findAccessibleMethod(Object self, String propertyName) {
+ Collection<String> methodNamesToTry = getMethodNames(propertyName);
+ Queue<Class<?>> typesToTry = new LinkedList<>();
+ typesToTry.add(self.getClass());
+ while (!typesToTry.isEmpty()) {
+ Class<?> currentClass = typesToTry.poll();
+ for (String methodName : methodNamesToTry) {
+ try {
+ Method m = currentClass.getMethod(methodName);
+ if (!m.canAccess(self)) {
+ try {
+ // force accessible if possible.
+ // this seems necessary when invoking objects from
+ // nested class and "downstream" bundles
+ m.setAccessible(true);
+ } catch (Exception e) {
+ // ignore possible non-blocking case
+ }
+ }
+ if (m.canAccess(self)) {
+ return m;
+ }
+ } catch (NoSuchMethodException e) {
+ // ignore not found method
+ }
+ }
+ Optional.ofNullable(currentClass.getSuperclass()).ifPresent(typesToTry::add);
+ typesToTry.addAll(Arrays.asList(currentClass.getInterfaces()));
}
+ throw new IllegalArgumentException("Cannot find accessor method for property \'" + name + "\' in a " //$NON-NLS-1$//$NON-NLS-2$
+ + self.getClass().getName());
}
}
@@ -153,8 +176,6 @@ public abstract class Member extends Unary {
}
}
- static final Object[] NO_ARGS = new Object[0];
-
static Member createDynamicMember(Expression operand, String name) {
return new DynamicMember(operand, name);
}
diff --git a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/query/Collector.java b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/query/Collector.java
index 5be87df5b..ffa0d6f47 100644
--- a/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/query/Collector.java
+++ b/bundles/org.eclipse.equinox.p2.metadata/src/org/eclipse/equinox/p2/query/Collector.java
@@ -25,20 +25,21 @@ import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.equinox.internal.p2.metadata.Messages;
/**
- * A collector is a generic visitor that collects objects passed to it,
- * and can then express the result of the visit in various forms. The collector
- * can also short-circuit a traversal by returning <code>false</code> from
- * its {@link #accept(Object)} method.
+ * A collector is a generic visitor that collects objects passed to it, and can
+ * then express the result of the visit in various forms. The collector can also
+ * short-circuit a traversal by returning <code>false</code> from its
+ * {@link #accept(Object)} method.
* <p>
- * This default collector just accepts all objects passed to it. Clients may subclass
- * to perform different processing on the objects passed to it.
+ * This default collector just accepts all objects passed to it. Clients may
+ * subclass to perform different processing on the objects passed to it.
+ *
* @param <T> The type of object accepted by this collector
* @since 2.0
*/
public class Collector<T> implements IQueryResult<T> {
private Set<T> collected = null;
- public static final Collector<?> EMPTY_COLLECTOR = new Collector<Object>() {
+ public static final Collector<?> EMPTY_COLLECTOR = new Collector<>() {
@Override
public boolean accept(Object val) {
return false;
@@ -60,14 +61,14 @@ public class Collector<T> implements IQueryResult<T> {
/**
* Accepts an object.
* <p>
- * This default implementation adds the objects to a list. Clients may
- * override this method to perform additional filtering, add different objects
- * to the list, short-circuit the traversal, or process the objects directly without
+ * This default implementation adds the objects to a list. Clients may override
+ * this method to perform additional filtering, add different objects to the
+ * list, short-circuit the traversal, or process the objects directly without
* collecting them.
*
* @param object the object to collect or visit
- * @return <code>true</code> if the traversal should continue,
- * or <code>false</code> to indicate the traversal should stop.
+ * @return <code>true</code> if the traversal should continue, or
+ * <code>false</code> to indicate the traversal should stop.
*/
public boolean accept(T object) {
getCollection().add(object);
@@ -76,6 +77,7 @@ public class Collector<T> implements IQueryResult<T> {
/**
* Adds the elements from one collector to this collector
+ *
* @param queryResult The collector from which the elements should be retrieved
*/
public void addAll(IQueryResult<T> queryResult) {
@@ -86,10 +88,10 @@ public class Collector<T> implements IQueryResult<T> {
}
/**
- * Returns the collection that is being used to collect results. Unlike {@linkplain #toSet()},
- * this returns the actual modifiable collection that is being used to store results. The
- * return value is only intended to be used within subclasses and should not be exposed
- * outside of a collection class.
+ * Returns the collection that is being used to collect results. Unlike
+ * {@linkplain #toSet()}, this returns the actual modifiable collection that is
+ * being used to store results. The return value is only intended to be used
+ * within subclasses and should not be exposed outside of a collection class.
*
* @return the collection being used to collect results.
*/
@@ -101,8 +103,9 @@ public class Collector<T> implements IQueryResult<T> {
/**
* Returns whether this collector is empty.
- * @return <code>true</code> if this collector has accepted any results,
- * and <code>false</code> otherwise.
+ *
+ * @return <code>true</code> if this collector has accepted any results, and
+ * <code>false</code> otherwise.
*/
@Override
public boolean isEmpty() {
@@ -116,7 +119,7 @@ public class Collector<T> implements IQueryResult<T> {
*/
@Override
public Iterator<T> iterator() {
- return collected == null ? Collections.<T> emptyList().iterator() : collected.iterator();
+ return collected == null ? Collections.<T>emptyList().iterator() : collected.iterator();
}
/**
@@ -131,8 +134,9 @@ public class Collector<T> implements IQueryResult<T> {
*
* @param clazz The type of array to return
* @return The array of results
- * @throws ArrayStoreException the runtime type of the specified array is
- * not a super-type of the runtime type of every collected object
+ * @throws ArrayStoreException the runtime type of the specified array is not a
+ * super-type of the runtime type of every collected
+ * object
*/
@Override
public T[] toArray(Class<T> clazz) {
@@ -155,7 +159,7 @@ public class Collector<T> implements IQueryResult<T> {
}
/**
- * Performs a query on this results of this collector.
+ * Performs a query on this results of this collector.
*/
@Override
public IQueryResult<T> query(IQuery<T> query, IProgressMonitor monitor) {
diff --git a/bundles/org.eclipse.equinox.p2.operations/.classpath b/bundles/org.eclipse.equinox.p2.operations/.classpath
index eca7bdba8..e801ebfb4 100644
--- a/bundles/org.eclipse.equinox.p2.operations/.classpath
+++ b/bundles/org.eclipse.equinox.p2.operations/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.p2.operations/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.operations/.settings/org.eclipse.jdt.core.prefs
index b6ee06ea1..3c15076cc 100644
--- a/bundles/org.eclipse.equinox.p2.operations/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.operations/.settings/org.eclipse.jdt.core.prefs
@@ -17,9 +17,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -36,6 +36,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=error
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -89,6 +90,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -125,7 +127,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -139,7 +142,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
@@ -260,7 +262,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
@@ -331,7 +332,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -476,7 +476,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
diff --git a/bundles/org.eclipse.equinox.p2.operations/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.operations/META-INF/MANIFEST.MF
index 8c7f57e68..acddebfb1 100644
--- a/bundles/org.eclipse.equinox.p2.operations/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.operations/META-INF/MANIFEST.MF
@@ -2,14 +2,14 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.operations;singleton:=true
-Bundle-Version: 2.5.1000.qualifier
+Bundle-Version: 2.6.0.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Export-Package: org.eclipse.equinox.internal.p2.operations;x-friends:="org.eclipse.pde.ui,org.eclipse.equinox.p2.ui",
org.eclipse.equinox.p2.operations;version="2.0.0"
Require-Bundle: org.eclipse.equinox.common;bundle-version="3.6.0",
org.eclipse.core.jobs;bundle-version="3.5.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.equinox.internal.p2.core.helpers,
org.eclipse.equinox.internal.p2.director,
diff --git a/bundles/org.eclipse.equinox.p2.operations/pom.xml b/bundles/org.eclipse.equinox.p2.operations/pom.xml
index a3e311547..2b71197b5 100644
--- a/bundles/org.eclipse.equinox.p2.operations/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.operations/pom.xml
@@ -14,11 +14,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.operations</artifactId>
- <version>2.5.1000-SNAPSHOT</version>
+ <version>2.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.publisher.eclipse/.classpath b/bundles/org.eclipse.equinox.p2.publisher.eclipse/.classpath
index 030607499..cc48f9f27 100644
--- a/bundles/org.eclipse.equinox.p2.publisher.eclipse/.classpath
+++ b/bundles/org.eclipse.equinox.p2.publisher.eclipse/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" output="bin_ant" path="src_ant"/>
diff --git a/bundles/org.eclipse.equinox.p2.publisher.eclipse/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.publisher.eclipse/.settings/org.eclipse.jdt.core.prefs
index aac18542e..3fefd7217 100644
--- a/bundles/org.eclipse.equinox.p2.publisher.eclipse/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.publisher.eclipse/.settings/org.eclipse.jdt.core.prefs
@@ -17,9 +17,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nul
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -35,6 +35,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=ignore
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -92,6 +93,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -127,7 +129,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -141,7 +144,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
@@ -262,7 +264,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
@@ -333,7 +334,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -478,7 +478,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
diff --git a/bundles/org.eclipse.equinox.p2.publisher.eclipse/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.publisher.eclipse/META-INF/MANIFEST.MF
index f0ca32b78..1bb6b0025 100644
--- a/bundles/org.eclipse.equinox.p2.publisher.eclipse/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.publisher.eclipse/META-INF/MANIFEST.MF
@@ -2,12 +2,12 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %bundleName
Bundle-SymbolicName: org.eclipse.equinox.p2.publisher.eclipse;singleton:=true
-Bundle-Version: 1.3.800.qualifier
+Bundle-Version: 1.4.0.qualifier
Bundle-Activator: org.eclipse.pde.internal.publishing.Activator
Bundle-ActivationPolicy: lazy
Bundle-Vendor: %providerName
Bundle-Localization: plugin
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Import-Package: org.eclipse.equinox.app;version="[1.0.0,2.0.0)",
org.eclipse.equinox.frameworkadmin;version="[2.0.0,3.0.0)",
org.eclipse.equinox.internal.frameworkadmin.equinox,
diff --git a/bundles/org.eclipse.equinox.p2.publisher.eclipse/pom.xml b/bundles/org.eclipse.equinox.p2.publisher.eclipse/pom.xml
index 98319e5aa..2bd6bbf3b 100644
--- a/bundles/org.eclipse.equinox.p2.publisher.eclipse/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.publisher.eclipse/pom.xml
@@ -4,12 +4,12 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.publisher.eclipse</artifactId>
- <version>1.3.800-SNAPSHOT</version>
+ <version>1.4.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/internal/p2/publisher/compatibility/IGeneratorConstants.java b/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/internal/p2/publisher/compatibility/IGeneratorConstants.java
index b2c980f8d..b81373dc0 100644
--- a/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/internal/p2/publisher/compatibility/IGeneratorConstants.java
+++ b/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/internal/p2/publisher/compatibility/IGeneratorConstants.java
@@ -21,7 +21,7 @@ package org.eclipse.equinox.internal.p2.publisher.compatibility;
public interface IGeneratorConstants {
public static final String DASH = "-"; //$NON-NLS-1$
- //arguments understood by the old metadata generator application
+ // arguments understood by the old metadata generator application
public static final String PUBLISH_ARTIFACTS = "-publishArtifacts"; //$NON-NLS-1$
public static final String PA = "-pa"; //$NON-NLS-1$
public static final String PUBLISH_ATIFACT_REPOSITORY = "-publishArtifactRepository"; //$NON-NLS-1$
@@ -29,6 +29,11 @@ public interface IGeneratorConstants {
public static final String APPEND = "-append"; //$NON-NLS-1$
public static final String NO_DEFAULT_IUS = "-noDefaultIUs"; //$NON-NLS-1$
public static final String COMPRESS = "-compress"; //$NON-NLS-1$
+ /**
+ * @noreference This field is not intended to be referenced by clients.
+ * @deprecated See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a> for details.
+ */
+ @Deprecated(forRemoval = true, since = "1.6.0")
public static final String REUSE_PACK200 = "-reusePack200Files"; //$NON-NLS-1$
public static final String SOURCE = "-source"; //$NON-NLS-1$
public static final String INPLACE = "-inplace"; //$NON-NLS-1$
diff --git a/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/internal/p2/publisher/eclipse/BrandingIron.java b/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/internal/p2/publisher/eclipse/BrandingIron.java
index b1114b4c7..a6c14f134 100644
--- a/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/internal/p2/publisher/eclipse/BrandingIron.java
+++ b/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/internal/p2/publisher/eclipse/BrandingIron.java
@@ -315,9 +315,11 @@ public class BrandingIron {
descriptor.addFile(targetLauncher);
}
- private File findLauncher(File root) {
- for (String launcherName : new String[] { "launcher", "eclipse" }) { //$NON-NLS-1$ //$NON-NLS-2$
- File launcher = new File(root, launcherName);
+ private File findLauncher(File root, String... candidates) {
+ if (candidates.length == 0)
+ candidates = new String[] { "launcher", "eclipse" }; //$NON-NLS-1$ //$NON-NLS-2$
+ for (String candidate : candidates) {
+ File launcher = new File(root, candidate);
if (launcher.exists())
return launcher;
}
@@ -359,26 +361,38 @@ public class BrandingIron {
private void brandWindows(ExecutablesDescriptor descriptor) throws Exception {
File root = descriptor.getLocation();
- File templateLauncher = new File(root, name + ".exe"); //$NON-NLS-1$
- if (!templateLauncher.exists())
- templateLauncher = new File(root, "launcher.exe"); //$NON-NLS-1$
- if (!templateLauncher.exists())
- templateLauncher = new File(root, "eclipse.exe"); //$NON-NLS-1$
- if (brandIcons) {
- if (templateLauncher.exists()) {
+ String binary = name + ".exe"; //$NON-NLS-1$
+ File templateLauncher = findLauncher(root, binary, "launcher.exe", "eclipse.exe"); //$NON-NLS-1$ //$NON-NLS-2$
+ if (templateLauncher != null) {
+ if (brandIcons) {
String[] args = new String[icons.length + 1];
args[0] = templateLauncher.getAbsolutePath();
System.arraycopy(icons, 0, args, 1, icons.length);
IconExe.main(args);
- } else {
- LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Could not find executable to brand", null)); //$NON-NLS-1$
}
+
+ if (!templateLauncher.getName().equals(binary)) {
+ File targetLauncher = new File(root, binary);
+ templateLauncher.renameTo(targetLauncher);
+ descriptor.replace(templateLauncher, targetLauncher);
+ }
+ } else {
+ LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Could not find executable to brand", null)); //$NON-NLS-1$
}
- File targetLauncher = new File(root, name + ".exe"); //$NON-NLS-1$
- if (templateLauncher.exists() && !templateLauncher.getName().equals(name + ".exe")) { //$NON-NLS-1$
- templateLauncher.renameTo(targetLauncher);
- descriptor.replace(templateLauncher, targetLauncher);
+
+ // Handle console application
+ binary = name + "c.exe"; //$NON-NLS-1$
+ templateLauncher = findLauncher(root, binary, "launcherc.exe", "eclipsec.exe"); //$NON-NLS-1$ //$NON-NLS-2$
+ if (templateLauncher != null) {
+ if (!templateLauncher.getName().equals(binary)) {
+ File targetLauncher = new File(root, binary);
+ templateLauncher.renameTo(targetLauncher);
+ descriptor.replace(templateLauncher, targetLauncher);
+ }
+ } else {
+ LogHelper.log(new Status(IStatus.ERROR, Activator.ID, "Could not find console executable to brand", null)); //$NON-NLS-1$
}
+
descriptor.setExecutableName(name, true);
}
diff --git a/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/internal/p2/publisher/eclipse/ExecutablesDescriptor.java b/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/internal/p2/publisher/eclipse/ExecutablesDescriptor.java
index 353aab166..5b1c6f82e 100644
--- a/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/internal/p2/publisher/eclipse/ExecutablesDescriptor.java
+++ b/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/internal/p2/publisher/eclipse/ExecutablesDescriptor.java
@@ -245,10 +245,6 @@ public class ExecutablesDescriptor {
private void updateExecutableName(String newName) {
if (newName.equalsIgnoreCase(executableName))
return;
- String targetIni = executableName + ".ini"; //$NON-NLS-1$
- String targetExecutable = executableName;
- String executableExtension = Constants.OS_WIN32.equals(os) ? ".exe" : ""; //$NON-NLS-1$ //$NON-NLS-2$
- targetExecutable = executableName + executableExtension;
Set<File> filesCopy = new HashSet<>(files);
for (File file : filesCopy) {
String base = file.getParent();
@@ -257,9 +253,13 @@ public class ExecutablesDescriptor {
base = base == null ? "" : base + "/"; //$NON-NLS-1$ //$NON-NLS-2$
if (Constants.OS_MACOSX.equals(os) && base.startsWith(executableName + ".app")) //$NON-NLS-1$
base = newName + ".app" + base.substring(executableName.length() + 4); //$NON-NLS-1$
- if (file.getName().equalsIgnoreCase(targetExecutable))
- replace(file, new File(base + newName + executableExtension));
- else if (file.getName().equalsIgnoreCase(targetIni))
+ if (file.getName().equalsIgnoreCase(executableName))
+ replace(file, new File(base + newName));
+ else if (file.getName().equalsIgnoreCase(executableName + ".exe")) //$NON-NLS-1$
+ replace(file, new File(base + newName + ".exe")); //$NON-NLS-1$
+ else if (file.getName().equalsIgnoreCase(executableName + "c.exe")) //$NON-NLS-1$
+ replace(file, new File(base + newName + "c.exe")); //$NON-NLS-1$
+ else if (file.getName().equalsIgnoreCase(executableName + ".ini")) //$NON-NLS-1$
replace(file, new File(base + newName + ".ini")); //$NON-NLS-1$
else if (Constants.OS_MACOSX.equals(os))
replace(file, new File(base + file.getName()));
diff --git a/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java b/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java
index aabf3db8b..f4199cf52 100644
--- a/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java
+++ b/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/BundlesAction.java
@@ -932,6 +932,7 @@ public class BundlesAction extends AbstractPublisherAction {
if (reuse && (publisherInfo.getArtifactOptions() & IPublisherInfo.A_PUBLISH) > 0) {
File packFile = new Path(jarFile.getAbsolutePath()).addFileExtension("pack.gz").toFile(); //$NON-NLS-1$
if (packFile.exists()) {
+ @SuppressWarnings("removal")
IArtifactDescriptor ad200 = createPack200ArtifactDescriptor(descriptor.getArtifactKey(), packFile,
descriptor.getProperty(IArtifactDescriptor.ARTIFACT_SIZE));
publishArtifact(ad200, packFile, publisherInfo);
diff --git a/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/EquinoxExecutableAction.java b/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/EquinoxExecutableAction.java
index 0e8fa0dd7..e3ec91b39 100644
--- a/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/EquinoxExecutableAction.java
+++ b/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/equinox/p2/publisher/eclipse/EquinoxExecutableAction.java
@@ -292,6 +292,10 @@ public class EquinoxExecutableAction extends AbstractPublisherAction {
File newFile = new File(file.getParentFile(), "eclipse.exe"); //$NON-NLS-1$
file.renameTo(newFile);
descriptor.replace(file, newFile);
+ } else if (file.getName().equals("launcherc.exe")) { //$NON-NLS-1$
+ File newFile = new File(file.getParentFile(), "eclipsec.exe"); //$NON-NLS-1$
+ file.renameTo(newFile);
+ descriptor.replace(file, newFile);
}
}
}
diff --git a/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/pde/internal/swt/tools/IconExe.java b/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/pde/internal/swt/tools/IconExe.java
index 64d908d60..0ba53b888 100644
--- a/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/pde/internal/swt/tools/IconExe.java
+++ b/bundles/org.eclipse.equinox.p2.publisher.eclipse/src/org/eclipse/pde/internal/swt/tools/IconExe.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2000, 2017 IBM Corporation and others.
+ * Copyright (c) 2000, 2019 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -10,11 +10,14 @@
*
* Contributors:
* IBM Corporation - initial API and implementation
+ * Christoph Läubrich - refactor to use a more consistent API that allows error propagation to the caller
*******************************************************************************/
package org.eclipse.pde.internal.swt.tools;
import java.io.*;
+import java.text.MessageFormat;
import java.util.*;
+import java.util.function.Consumer;
/**
* Customize the icon of a Windows exe
@@ -70,24 +73,14 @@ public class IconExe {
System.err.println("Usage: IconExe <windows executable> <ico file>"); //$NON-NLS-1$
return;
}
- ImageLoader loader = new ImageLoader();
+ File[] iconFiles = new File[args.length - 1];
+ for (int i = 0; i < iconFiles.length; i++) {
+ iconFiles[i] = new File(args[i + 1]);
- List<ImageData> images = new ArrayList<>();
- for (int i = 1; i < args.length; i++) {
- try {
- //An ICO should contain 7 images, a BMP will contain 1
- ImageData[] current = loader.load(args[i]);
- for (ImageData id : current) {
- images.add(id);
- }
- } catch (RuntimeException e) {
- //ignore so that we process the other images
- }
}
- ImageData[] data = new ImageData[images.size()];
- data = images.toArray(data);
+ ImageData[] data = loadImages(iconFiles, System.err::println);
- List<IconResInfo> unchangedIcons = unloadIcons(args[0], data);
+ Collection<IconResInfo> unchangedIcons = replaceIcons(new File(args[0]), data, System.err::println);
if (unchangedIcons.size() != 0) {
System.err.println(String.format("[IconExe] Error - %d original icon(s) not replaced in %s:", unchangedIcons.size(), args[0])); //$NON-NLS-1$
for (IconResInfo icon : unchangedIcons) {
@@ -98,45 +91,39 @@ public class IconExe {
}
}
- /* Implementation */
-
- /**
- * Retrieve the Desktop icons provided in the Windows executable program.
- * These icons are typically shown in various places of the Windows desktop.
+ /**
+ * Loads images from files so they are prepared for used in replacing icons in a
+ * launcher executable
*
- * Note. The Eclipse 3.4 launcher returns the following 7 images (in any order).
- * 1. 48x48, 32 bit (RGB / Alpha Channel)
- * 2. 32x32, 32 bit (RGB / Alpha Channel)
- * 3. 16x16, 32 bit (RGB / Alpha Channel)
- * 4. 48x48, 8 bit (256 colors)
- * 5. 32x32, 8 bit (256 colors)
- * 6. 24x24, 8 bit (256 colors)
- * 7. 16x16, 8 bit (256 colors)
- *
- * Note 1. The Eclipse 4.2 launcher requires an .ico file with the following 7 images (in any order).
- * 1. 256x256, 32 bit (RGB / Alpha Channel)
- * 2. 48x48, 32 bit (RGB / Alpha Channel)
- * 3. 32x32, 32 bit (RGB / Alpha Channel)
- * 4. 16x16, 32 bit (RGB / Alpha Channel)
- * 5. 48x48, 8 bit (256 colors)
- * 6. 32x32, 8 bit (256 colors)
- * 7. 16x16, 8 bit (256 colors)
- *
- * @param program the Windows executable e.g c:/eclipse/eclipse.exe
+ * @param icons the icons to loader
+ * @param errorMessageConsumer a consumer that is informed about skipable errors
+ * while loading icons
+ * @return an array of image data that could be used to replace launcher icons
+ * @throws IOException if reading of files fails on the I/O level
*/
- static ImageData[] loadIcons(String program) throws FileNotFoundException, IOException {
- ImageData[] data;
- try (RandomAccessFile raf = new RandomAccessFile(program, "r") //$NON-NLS-1$
- ) {
- IconExe iconExe = new IconExe();
- IconResInfo[] iconInfo = iconExe.getIcons(raf);
- data = new ImageData[iconInfo.length];
- for (int i = 0; i < data.length; i++)
- data[i] = iconInfo[i].data;
+ public static ImageData[] loadImages(File[] icons, Consumer<String> errorMessageConsumer) throws IOException {
+ ImageLoader loader = new ImageLoader();
+ List<ImageData> images = new ArrayList<>();
+ for (File file : icons) {
+ if (!file.exists()) {
+ errorMessageConsumer.accept(MessageFormat.format("The specified icon file {0} does not exits", file)); //$NON-NLS-1$
+ continue;
+ }
+ try (FileInputStream stream = new FileInputStream(file)) {
+ try {
+ ImageData[] imageDatas = loader.load(stream);
+ images.addAll(Arrays.asList(imageDatas));
+ } catch (RuntimeException e) {
+ errorMessageConsumer
+ .accept(MessageFormat.format("Loading of image {0} failed: {1}", file, e.getMessage())); //$NON-NLS-1$
+ }
+ }
}
- return data;
+ return images.toArray(new ImageData[0]);
}
+ /* Implementation */
+
/**
* Replace the Desktop icons provided in the Windows executable program
* with icons provided by the user.
@@ -173,19 +160,21 @@ public class IconExe {
* Note 4. This function modifies the content of the executable program and may cause
* its corruption.
*
- * @param program the Windows executable e.g c:/eclipse/eclipse.exe
+ * @param launcherFile the Windows executable e.g c:/eclipse/eclipse.exe
* @param icons to write to the given executable
* @return the list of icons from the original program that were not successfully replaced (empty if success)
*/
- static List<IconResInfo> unloadIcons(String program, ImageData[] icons) throws FileNotFoundException, IOException {
- List<IconResInfo> iconInfo;
- try (RandomAccessFile raf = new RandomAccessFile(program, "rw") //$NON-NLS-1$
+ public static Collection<IconResInfo> replaceIcons(File launcherFile, ImageData[] icons,
+ Consumer<String> errorMessageConsumer)
+ throws FileNotFoundException, IOException {
+ Collection<IconResInfo> iconInfo;
+ try (RandomAccessFile raf = new RandomAccessFile(launcherFile, "rw") //$NON-NLS-1$
) {
- IconExe iconExe = new IconExe();
- iconInfo = new ArrayList<>(Arrays.asList(iconExe.getIcons(raf)));
+ iconInfo = getIcons(raf);
// Display an error if no icons found in target executable.
if (iconInfo.isEmpty()) {
- System.err.println("Warning - no icons detected in \"" + program + "\"."); //$NON-NLS-1$ //$NON-NLS-2$
+ errorMessageConsumer
+ .accept(MessageFormat.format("no icons detected in {0}.", launcherFile.getAbsolutePath())); //$NON-NLS-1$
raf.close();
return Collections.emptyList();
}
@@ -218,26 +207,46 @@ public class IconExe {
int size;
}
- IconResInfo[] iconInfo = null;
- int iconCnt;
+ /**
+ * Retrieve the Desktop icons provided in the Windows executable program.
+ * These icons are typically shown in various places of the Windows desktop.
+ *
+ * Note. The Eclipse 3.4 launcher returns the following 7 images (in any order).
+ * 1. 48x48, 32 bit (RGB / Alpha Channel)
+ * 2. 32x32, 32 bit (RGB / Alpha Channel)
+ * 3. 16x16, 32 bit (RGB / Alpha Channel)
+ * 4. 48x48, 8 bit (256 colors)
+ * 5. 32x32, 8 bit (256 colors)
+ * 6. 24x24, 8 bit (256 colors)
+ * 7. 16x16, 8 bit (256 colors)
+ *
+ * Note 1. The Eclipse 4.2 launcher requires an .ico file with the following 7 images (in any order).
+ * 1. 256x256, 32 bit (RGB / Alpha Channel)
+ * 2. 48x48, 32 bit (RGB / Alpha Channel)
+ * 3. 32x32, 32 bit (RGB / Alpha Channel)
+ * 4. 16x16, 32 bit (RGB / Alpha Channel)
+ * 5. 48x48, 8 bit (256 colors)
+ * 6. 32x32, 8 bit (256 colors)
+ * 7. 16x16, 8 bit (256 colors)
+ *
+ * @param raf RandomAccessFile for the the Windows executable e.g c:/eclipse/eclipse.exe
+ */
+ static Collection<IconResInfo> getIcons(RandomAccessFile raf) throws IOException {
- IconResInfo[] getIcons(RandomAccessFile raf) throws IOException {
- iconInfo = new IconResInfo[4];
- iconCnt = 0;
IMAGE_DOS_HEADER imageDosHeader = new IMAGE_DOS_HEADER();
read(raf, imageDosHeader);
if (imageDosHeader.e_magic != IMAGE_DOS_SIGNATURE)
- return new IconResInfo[0];
+ return Collections.emptyList();
int imageNtHeadersOffset = imageDosHeader.e_lfanew;
raf.seek(imageNtHeadersOffset);
IMAGE_NT_HEADERS imageNtHeaders = new IMAGE_NT_HEADERS();
read(raf, imageNtHeaders);
if (imageNtHeaders.Signature != IMAGE_NT_SIGNATURE)
- return new IconResInfo[0];
+ return Collections.emptyList();
// DumpResources
int resourcesRVA = imageNtHeaders.OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_RESOURCE].VirtualAddress;
if (resourcesRVA == 0)
- return new IconResInfo[0];
+ return Collections.emptyList();
if (DEBUG)
System.out.println("* Resources (RVA= " + resourcesRVA + ")"); //$NON-NLS-1$ //$NON-NLS-2$
IMAGE_SECTION_HEADER imageSectionHeader = new IMAGE_SECTION_HEADER();
@@ -253,19 +262,16 @@ public class IconExe {
}
}
if (!found)
- return new IconResInfo[0];
+ return Collections.emptyList();
int delta = imageSectionHeader.VirtualAddress - imageSectionHeader.PointerToRawData;
int imageResourceDirectoryOffset = resourcesRVA - delta;
- dumpResourceDirectory(raf, imageResourceDirectoryOffset, imageResourceDirectoryOffset, delta, 0, 0, false);
- if (iconCnt < iconInfo.length) {
- IconResInfo[] newArray = new IconResInfo[iconCnt];
- System.arraycopy(iconInfo, 0, newArray, 0, iconCnt);
- iconInfo = newArray;
- }
- return iconInfo;
+ return dumpResourceDirectory(raf, imageResourceDirectoryOffset, imageResourceDirectoryOffset, delta, 0, 0,
+ false);
}
- void dumpResourceDirectory(RandomAccessFile raf, int imageResourceDirectoryOffset, int resourceBase, int delta, int type, int level, boolean rt_icon_root) throws IOException {
+ static Collection<IconResInfo> dumpResourceDirectory(RandomAccessFile raf, int imageResourceDirectoryOffset,
+ int resourceBase, int delta, int type, int level, boolean rt_icon_root) throws IOException {
+ Collection<IconResInfo> iconInfo = new ArrayList<>();
if (DEBUG)
System.out.println("** LEVEL " + level); //$NON-NLS-1$
@@ -293,7 +299,9 @@ public class IconExe {
}
for (IMAGE_RESOURCE_DIRECTORY_ENTRY imageResourceDirectoryEntry : imageResourceDirectoryEntries) {
if (imageResourceDirectoryEntry.DataIsDirectory) {
- dumpResourceDirectory(raf, imageResourceDirectoryEntry.OffsetToDirectory + resourceBase, resourceBase, delta, imageResourceDirectoryEntry.Id, level + 1, rt_icon_root ? true : type == RT_ICON);
+ iconInfo.addAll(dumpResourceDirectory(raf, imageResourceDirectoryEntry.OffsetToDirectory + resourceBase,
+ resourceBase, delta, imageResourceDirectoryEntry.Id, level + 1,
+ rt_icon_root ? true : type == RT_ICON));
} else {
// Resource found
/// pResDirEntry->Name
@@ -304,21 +312,15 @@ public class IconExe {
if (DEBUG)
System.out.println("Resource Id " + irde.Id + " Data Offset RVA " + data.OffsetToData + ", Size " + data.Size); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
if (rt_icon_root) {
- if (DEBUG)
- System.out.println("iconcnt " + iconCnt + " |" + iconInfo.length); //$NON-NLS-1$ //$NON-NLS-2$
- iconInfo[iconCnt] = new IconResInfo();
- iconInfo[iconCnt].data = parseIcon(raf, data.OffsetToData - delta, data.Size);
- iconInfo[iconCnt].offset = data.OffsetToData - delta;
- iconInfo[iconCnt].size = data.Size;
- iconCnt++;
- if (iconCnt == iconInfo.length) {
- IconResInfo[] newArray = new IconResInfo[iconInfo.length + 4];
- System.arraycopy(iconInfo, 0, newArray, 0, iconInfo.length);
- iconInfo = newArray;
- }
+ IconResInfo resInfo = new IconResInfo();
+ resInfo.data = parseIcon(raf, data.OffsetToData - delta, data.Size);
+ resInfo.offset = data.OffsetToData - delta;
+ resInfo.size = data.Size;
+ iconInfo.add(resInfo);
}
}
}
+ return iconInfo;
}
static ImageData parseIcon(RandomAccessFile raf, int offset, int size) throws IOException {
@@ -748,14 +750,14 @@ public class IconExe {
}
static long read8(RandomAccessFile raf) throws IOException {
- int b0 = raf.readByte() & 0xFF;
- int b1 = raf.readByte() & 0xFF;
- int b2 = raf.readByte() & 0xFF;
- int b3 = raf.readByte() & 0xFF;
- int b4 = raf.readByte() & 0xFF;
- int b5 = raf.readByte() & 0xFF;
- int b6 = raf.readByte() & 0xFF;
- int b7 = raf.readByte() & 0xFF;
+ long b0 = raf.readByte() & 0xFF;
+ long b1 = raf.readByte() & 0xFF;
+ long b2 = raf.readByte() & 0xFF;
+ long b3 = raf.readByte() & 0xFF;
+ long b4 = raf.readByte() & 0xFF;
+ long b5 = raf.readByte() & 0xFF;
+ long b6 = raf.readByte() & 0xFF;
+ long b7 = raf.readByte() & 0xFF;
return b7 << 56 | b6 << 48 | b5 << 40 | b4 << 32 | b3 << 24 | b2 << 16 | b1 << 8 | b0;
}
@@ -1282,49 +1284,12 @@ public class IconExe {
*/
public ImageData[] load(InputStream stream) {
if (stream == null)
- SWT.error(SWT.ERROR_NULL_ARGUMENT);
+ throw new NullPointerException("stream can't be null"); //$NON-NLS-1$
reset();
data = FileFormat.load(stream, this);
return data;
}
- /**
- * Loads an array of <code>ImageData</code> objects from the
- * file with the specified name. Throws an error if either
- * an error occurs while loading the images, or if the images are
- * not of a supported type. Returns the loaded image data array.
- *
- * @param filename the name of the file to load the images from
- * @return an array of <code>ImageData</code> objects loaded from the specified file
- *
- * @exception IllegalArgumentException <ul>
- * <li>ERROR_NULL_ARGUMENT - if the file name is null</li>
- * </ul>
- * @exception RuntimeException <ul>
- * <li>ERROR_INVALID_IMAGE - if the image file contains invalid data</li>
- * <li>ERROR_IO - if an IO error occurs while reading data</li>
- * <li>ERROR_UNSUPPORTED_FORMAT - if the image file contains an unrecognized format</li>
- * </ul>
- */
- public ImageData[] load(String filename) {
- if (filename == null)
- SWT.error(SWT.ERROR_NULL_ARGUMENT);
- InputStream stream = null;
- try {
- stream = new BufferedInputStream(new FileInputStream(filename));
- return load(stream);
- } catch (IOException e) {
- SWT.error(SWT.ERROR_IO, e);
- } finally {
- try {
- if (stream != null)
- stream.close();
- } catch (IOException e) {
- // Ignore error
- }
- }
- return null;
- }
}
static class ImageData {
@@ -1576,7 +1541,7 @@ public class IconExe {
* <code>ImageLoader.load()</code>.
* </p>
*
- * @param filename the name of the file to load the image from (must not be null)
+ * @param data the image data to use
*
* @exception IllegalArgumentException <ul>
* <li>ERROR_NULL_ARGUMENT - if the file name is null</li>
@@ -1587,8 +1552,7 @@ public class IconExe {
* <li>ERROR_UNSUPPORTED_FORMAT - if the image file contains an unrecognized format</li>
* </ul>
*/
- public ImageData(String filename) {
- ImageData[] data = new ImageLoader().load(filename);
+ public ImageData(ImageData[] data) {
if (data.length < 1)
SWT.error(SWT.ERROR_INVALID_IMAGE);
ImageData i = data[0];
@@ -2839,13 +2803,8 @@ public class IconExe {
abstract ImageData[] loadFromByteStream();
public ImageData[] loadFromStream(LEDataInputStream stream) {
- try {
- inputStream = stream;
- return loadFromByteStream();
- } catch (Exception e) {
- SWT.error(SWT.ERROR_IO, e);
- return null;
- }
+ inputStream = stream;
+ return loadFromByteStream();
}
public static ImageData[] load(InputStream is, ImageLoader loader) {
@@ -2882,7 +2841,9 @@ public class IconExe {
SWT.error(SWT.ERROR_INVALID_IMAGE);
return;
}
- SWT.error(SWT.ERROR_INVALID_IMAGE);
+ throw new IllegalArgumentException(MessageFormat.format(
+ "only BMP_RLE8_COMPRESSION(cmp=1) or BMP_RLE4_COMPRESSION(cmp=2) compression is currently supported (given cmp={0})", //$NON-NLS-1$
+ cmp));
}
int decompressRLE4Data(byte[] src, int numBytes, int stride, byte[] dest, int destSize) {
diff --git a/bundles/org.eclipse.equinox.p2.publisher.eclipse/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/AbstractPublishTask.java b/bundles/org.eclipse.equinox.p2.publisher.eclipse/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/AbstractPublishTask.java
index bb67873dd..c9a149b4e 100644
--- a/bundles/org.eclipse.equinox.p2.publisher.eclipse/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/AbstractPublishTask.java
+++ b/bundles/org.eclipse.equinox.p2.publisher.eclipse/src_ant/org/eclipse/equinox/internal/p2/publisher/ant/AbstractPublishTask.java
@@ -41,10 +41,10 @@ public abstract class AbstractPublishTask extends Task {
/**
* Support nested repository elements that looking something like
- * <repo location="file:/foo" metadata="true" artifact="true" />
- * Both metadata and artifact are optional:
- * 1) if neither are set, the repo is used for both metadata and artifacts
- * 2) if only one is true, the repo is that type and not the other
+ * <repo location="file:/foo" metadata="true" artifact="true" /> Both metadata
+ * and artifact are optional: 1) if neither are set, the repo is used for both
+ * metadata and artifacts 2) if only one is true, the repo is that type and not
+ * the other
*/
static public class RepoEntry {
private URI repoLocation;
@@ -52,7 +52,7 @@ public abstract class AbstractPublishTask extends Task {
private Boolean artifact = null;
/**
- * If not set, default is true if we aren't set as an artifact repo
+ * If not set, default is true if we aren't set as an artifact repo
*/
public boolean isMetadataRepository() {
if (metadata != null)
@@ -61,7 +61,7 @@ public abstract class AbstractPublishTask extends Task {
}
/**
- * If not set, default is true if we aren't set as a metadata repo
+ * If not set, default is true if we aren't set as a metadata repo
*/
public boolean isArtifactRepository() {
if (artifact != null)
@@ -117,14 +117,18 @@ public abstract class AbstractPublishTask extends Task {
protected void initializeRepositories(PublisherInfo info) throws ProvisionException {
if (artifactLocation != null) {
- IArtifactRepository repo = Publisher.createArtifactRepository(getProvisioningAgent(), artifactLocation, artifactRepoName, compress, reusePackedFiles);
+ @SuppressWarnings("removal")
+ IArtifactRepository repo = Publisher.createArtifactRepository(getProvisioningAgent(), artifactLocation,
+ artifactRepoName, compress, reusePackedFiles);
if (!append && !isEmpty(repo)) {
File repoLocation = URIUtil.toFile(artifactLocation);
if (repoLocation != null && source != null) {
if (repoLocation.isFile())
repoLocation = repoLocation.getParentFile();
if (repoLocation.equals(new File(source)))
- throw new IllegalArgumentException(NLS.bind(Messages.exception_artifactRepoNoAppendDestroysInput, URIUtil.toUnencodedString(artifactLocation)));
+ throw new IllegalArgumentException(
+ NLS.bind(Messages.exception_artifactRepoNoAppendDestroysInput,
+ URIUtil.toUnencodedString(artifactLocation)));
}
repo.removeAll(new NullProgressMonitor());
}
@@ -133,11 +137,14 @@ public abstract class AbstractPublishTask extends Task {
throw new ProvisionException(createConfigurationEror(Messages.exception_noArtifactRepo));
if (metadataLocation == null)
throw new ProvisionException(createConfigurationEror(Messages.exception_noMetadataRepo));
- info.setMetadataRepository(Publisher.createMetadataRepository(getProvisioningAgent(), metadataLocation, metadataRepoName, append, compress));
+ info.setMetadataRepository(Publisher.createMetadataRepository(getProvisioningAgent(), metadataLocation,
+ metadataRepoName, append, compress));
if (contextRepositories.size() > 0) {
- CompositeMetadataRepository contextMetadata = CompositeMetadataRepository.createMemoryComposite(getProvisioningAgent());
- CompositeArtifactRepository contextArtifact = CompositeArtifactRepository.createMemoryComposite(getProvisioningAgent());
+ CompositeMetadataRepository contextMetadata = CompositeMetadataRepository
+ .createMemoryComposite(getProvisioningAgent());
+ CompositeArtifactRepository contextArtifact = CompositeArtifactRepository
+ .createMemoryComposite(getProvisioningAgent());
for (RepoEntry entry : contextRepositories) {
if (contextMetadata != null && entry.isMetadataRepository())
diff --git a/bundles/org.eclipse.equinox.p2.publisher/.classpath b/bundles/org.eclipse.equinox.p2.publisher/.classpath
index eca7bdba8..e801ebfb4 100644
--- a/bundles/org.eclipse.equinox.p2.publisher/.classpath
+++ b/bundles/org.eclipse.equinox.p2.publisher/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.p2.publisher/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.publisher/.settings/org.eclipse.jdt.core.prefs
index fe0819f9a..cb0db2a19 100644
--- a/bundles/org.eclipse.equinox.p2.publisher/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.publisher/.settings/org.eclipse.jdt.core.prefs
@@ -16,9 +16,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable=org.eclipse.jdt.annotation.Nul
org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -35,6 +35,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=error
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -88,6 +89,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -124,7 +126,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -138,7 +141,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
@@ -268,7 +270,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
@@ -342,7 +343,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -501,7 +501,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
diff --git a/bundles/org.eclipse.equinox.p2.publisher/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.publisher/META-INF/MANIFEST.MF
index b565a7d4c..d3f4bd1a7 100644
--- a/bundles/org.eclipse.equinox.p2.publisher/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.publisher/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %bundleName
Bundle-SymbolicName: org.eclipse.equinox.p2.publisher;singleton:=true
-Bundle-Version: 1.5.500.qualifier
+Bundle-Version: 1.6.0.qualifier
Bundle-Activator: org.eclipse.equinox.internal.p2.publisher.Activator
Bundle-Vendor: %providerName
Bundle-Localization: plugin
@@ -24,7 +24,7 @@ Export-Package: org.eclipse.equinox.internal.p2.publisher;
org.eclipse.equinox.spi.p2.publisher;x-friends:="org.eclipse.equinox.p2.updatesite,org.eclipse.equinox.p2.publisher.eclipse"
Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.5.0,4.0.0)",
org.eclipse.osgi;bundle-version="3.8.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.equinox.app;version="1.0.0";resolution:=optional,
org.eclipse.equinox.internal.p2.artifact.processors.checksum,
diff --git a/bundles/org.eclipse.equinox.p2.publisher/pom.xml b/bundles/org.eclipse.equinox.p2.publisher/pom.xml
index aebbbd2ab..5342d1407 100644
--- a/bundles/org.eclipse.equinox.p2.publisher/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.publisher/pom.xml
@@ -4,11 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.publisher</artifactId>
- <version>1.5.500-SNAPSHOT</version>
+ <version>1.6.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractPublisherAction.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractPublisherAction.java
index f5d890b08..497a8a261 100644
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractPublisherAction.java
+++ b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractPublisherAction.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2008, 2017 Code 9 and others.
+ * Copyright (c) 2008, 2017 Code 9 and others.
*
* This
* program and the accompanying materials are made available under the terms of
@@ -8,8 +8,8 @@
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
+ *
+ * Contributors:
* Code 9 - initial API and implementation
* IBM - ongoing development
* SAP - ongoing development
@@ -63,6 +63,7 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
/**
* Returns a string array of { ws, os, arch } as parsed from the given string
+ *
* @param configSpec the string to parse
* @return the ws, os, arch form of the given string
*/
@@ -85,10 +86,11 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
/**
* Returns the canonical form of config spec with the given ws, os and arch.
- * Note that the result is intended to be machine readable (i.e., parseConfigSpec
- * will parse the the result).
- * @param ws the window system
- * @param os the operating system
+ * Note that the result is intended to be machine readable (i.e.,
+ * parseConfigSpec will parse the the result).
+ *
+ * @param ws the window system
+ * @param os the operating system
* @param arch the machine architecture
* @return the machine readable format of the given config spec
*/
@@ -97,15 +99,16 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
}
protected void addSelfCapability(InstallableUnitDescription root) {
- root.setCapabilities(new IProvidedCapability[] {createSelfCapability(root.getId(), root.getVersion())});
+ root.setCapabilities(new IProvidedCapability[] { createSelfCapability(root.getId(), root.getVersion()) });
}
/**
- * Returns the LDAP filter form that matches the given config spec. Returns
- * an empty String if the spec does not identify an ws, os or arch.
+ * Returns the LDAP filter form that matches the given config spec. Returns an
+ * empty String if the spec does not identify an ws, os or arch.
+ *
* @param configSpec a config spec to filter
- * @return the LDAP filter for the given spec. <code>null</code> if the given spec does not
- * parse into a filter.
+ * @return the LDAP filter for the given spec. <code>null</code> if the given
+ * spec does not parse into a filter.
*/
protected IMatchExpression<IInstallableUnit> createFilterSpec(String configSpec) {
String ldap = createLDAPString(configSpec);
@@ -117,9 +120,15 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
protected String createLDAPString(String configSpec) {
String[] config = parseConfigSpec(configSpec);
if (config[0] != null || config[1] != null || config[2] != null) {
- String filterWs = config[0] != null && !CONFIG_ANY.equalsIgnoreCase(config[0]) ? "(osgi.ws=" + config[0] + ")" : ""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- String filterOs = config[1] != null && !CONFIG_ANY.equalsIgnoreCase(config[1]) ? "(osgi.os=" + config[1] + ")" : ""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- String filterArch = config[2] != null && !CONFIG_ANY.equalsIgnoreCase(config[2]) ? "(osgi.arch=" + config[2] + ")" : ""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ String filterWs = config[0] != null && !CONFIG_ANY.equalsIgnoreCase(config[0])
+ ? "(osgi.ws=" + config[0] + ")" //$NON-NLS-1$ //$NON-NLS-2$
+ : ""; //$NON-NLS-1$
+ String filterOs = config[1] != null && !CONFIG_ANY.equalsIgnoreCase(config[1])
+ ? "(osgi.os=" + config[1] + ")" //$NON-NLS-1$ //$NON-NLS-2$
+ : ""; //$NON-NLS-1$
+ String filterArch = config[2] != null && !CONFIG_ANY.equalsIgnoreCase(config[2])
+ ? "(osgi.arch=" + config[2] + ")" //$NON-NLS-1$ //$NON-NLS-2$
+ : ""; //$NON-NLS-1$
if (filterWs.length() == 0 && filterOs.length() == 0 && filterArch.length() == 0)
return null;
return "(& " + filterWs + filterOs + filterArch + ")"; //$NON-NLS-1$ //$NON-NLS-2$
@@ -136,9 +145,10 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
}
/**
- * Returns the normalized string form of the given config spec. This is useful for putting
- * in IU ids etc. Note that the result is not intended to be machine readable (i.e., parseConfigSpec
- * may not work on the result).
+ * Returns the normalized string form of the given config spec. This is useful
+ * for putting in IU ids etc. Note that the result is not intended to be machine
+ * readable (i.e., parseConfigSpec may not work on the result).
+ *
* @param configSpec the config spec to format
* @return the readable format of the given config spec
*/
@@ -152,9 +162,10 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
}
/**
- * Creates and returns a collection of RequiredCapabilities for the IUs represented
- * by the given collection. The collection may include a mixture of IInstallableUnits
- * or VersionedNames.
+ * Creates and returns a collection of RequiredCapabilities for the IUs
+ * represented by the given collection. The collection may include a mixture of
+ * IInstallableUnits or VersionedNames.
+ *
* @param children descriptions of the IUs on which requirements are to be made
* @return a collection of RequiredCapabilities representing the given IUs
*/
@@ -164,12 +175,15 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
if (next instanceof IInstallableUnit) {
IInstallableUnit iu = (IInstallableUnit) next;
VersionRange range = new VersionRange(iu.getVersion(), true, iu.getVersion(), true);
- result.add(MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), range, iu.getFilter() == null ? null : iu.getFilter(), false, false));
+ result.add(MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, iu.getId(), range,
+ iu.getFilter() == null ? null : iu.getFilter(), false, false));
} else {
Version version = next.getVersion();
- VersionRange range = (version == null || Version.emptyVersion.equals(version)) ? VersionRange.emptyRange : new VersionRange(version, true, version, true);
+ VersionRange range = (version == null || Version.emptyVersion.equals(version)) ? VersionRange.emptyRange
+ : new VersionRange(version, true, version, true);
IMatchExpression<IInstallableUnit> filter = getFilterAdvice(next);
- result.add(MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, next.getId(), range, filter, false, false));
+ result.add(MetadataFactory.createRequirement(IInstallableUnit.NAMESPACE_IU_ID, next.getId(), range,
+ filter, false, false));
}
}
return result;
@@ -178,7 +192,8 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
private IMatchExpression<IInstallableUnit> getFilterAdvice(IVersionedId name) {
if (info == null)
return null;
- Collection<IFilterAdvice> filterAdvice = info.getAdvice(CONFIG_ANY, true, name.getId(), name.getVersion(), IFilterAdvice.class);
+ Collection<IFilterAdvice> filterAdvice = info.getAdvice(CONFIG_ANY, true, name.getId(), name.getVersion(),
+ IFilterAdvice.class);
for (IFilterAdvice advice : filterAdvice) {
IMatchExpression<IInstallableUnit> result = advice.getFilter(name.getId(), name.getVersion(), false);
if (result != null)
@@ -194,43 +209,55 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
return root;
}
- protected IArtifactDescriptor createPack200ArtifactDescriptor(IArtifactKey key, File pathOnDisk, String installSize) {
- ArtifactDescriptor result = (ArtifactDescriptor) PublisherHelper.createArtifactDescriptor(info, key, pathOnDisk);
- //TODO this size calculation is bogus
+ /**
+ * @noreference This method is not intended to be referenced by clients.
+ * @deprecated See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a> for details.
+ */
+ @Deprecated(forRemoval = true, since = "1.6.0")
+ protected IArtifactDescriptor createPack200ArtifactDescriptor(IArtifactKey key, File pathOnDisk,
+ String installSize) {
+ ArtifactDescriptor result = (ArtifactDescriptor) PublisherHelper.createArtifactDescriptor(info, key,
+ pathOnDisk);
+ // TODO this size calculation is bogus
if (pathOnDisk != null) {
result.setProperty(IArtifactDescriptor.ARTIFACT_SIZE, installSize);
// TODO - this is wrong but I'm testing a work-around for bug 205842
result.setProperty(IArtifactDescriptor.DOWNLOAD_SIZE, Long.toString(pathOnDisk.length()));
}
- IProcessingStepDescriptor[] steps = new IProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true)}; //$NON-NLS-1$
+ IProcessingStepDescriptor[] steps = new IProcessingStepDescriptor[] {
+ new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true) }; //$NON-NLS-1$
result.setProcessingSteps(steps);
result.setProperty(IArtifactDescriptor.FORMAT, IArtifactDescriptor.FORMAT_PACKED);
return result;
}
- protected InstallableUnitDescription createParentIU(Collection<? extends IVersionedId> children, String id, Version version) {
+ protected InstallableUnitDescription createParentIU(Collection<? extends IVersionedId> children, String id,
+ Version version) {
InstallableUnitDescription root = createIUShell(id, version);
root.addRequirements(createIURequirements(children));
addSelfCapability(root);
return root;
}
- //This is to hide FileUtils from other actions
+ // This is to hide FileUtils from other actions
protected IPathComputer createParentPrefixComputer(int segmentsToKeep) {
return FileUtils.createParentPrefixComputer(segmentsToKeep);
}
- //This is to hide FileUtils from other actions
+ // This is to hide FileUtils from other actions
protected IPathComputer createRootPrefixComputer(final File root) {
return FileUtils.createRootPathComputer(root);
}
protected IProvidedCapability createSelfCapability(String installableUnitId, Version installableUnitVersion) {
- return MetadataFactory.createProvidedCapability(PublisherHelper.IU_NAMESPACE, installableUnitId, installableUnitVersion);
+ return MetadataFactory.createProvidedCapability(PublisherHelper.IU_NAMESPACE, installableUnitId,
+ installableUnitVersion);
}
- protected static InstallableUnitDescription[] processAdditionalInstallableUnitsAdvice(IInstallableUnit iu, IPublisherInfo publisherInfo) {
- Collection<IAdditionalInstallableUnitAdvice> advice = publisherInfo.getAdvice(null, false, iu.getId(), iu.getVersion(), IAdditionalInstallableUnitAdvice.class);
+ protected static InstallableUnitDescription[] processAdditionalInstallableUnitsAdvice(IInstallableUnit iu,
+ IPublisherInfo publisherInfo) {
+ Collection<IAdditionalInstallableUnitAdvice> advice = publisherInfo.getAdvice(null, false, iu.getId(),
+ iu.getVersion(), IAdditionalInstallableUnitAdvice.class);
if (advice.isEmpty())
return null;
@@ -244,16 +271,20 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
}
/**
- * Add all of the advised artifact properties for the given IU and artifact descriptor.
- * @param iu the IU
+ * Add all of the advised artifact properties for the given IU and artifact
+ * descriptor.
+ *
+ * @param iu the IU
* @param descriptor the descriptor to decorate
- * @param info the publisher info supplying the advice
+ * @param info the publisher info supplying the advice
*/
- protected static void processArtifactPropertiesAdvice(IInstallableUnit iu, IArtifactDescriptor descriptor, IPublisherInfo info) {
+ protected static void processArtifactPropertiesAdvice(IInstallableUnit iu, IArtifactDescriptor descriptor,
+ IPublisherInfo info) {
if (!(descriptor instanceof SimpleArtifactDescriptor))
return;
- Collection<IPropertyAdvice> advice = info.getAdvice(null, false, iu.getId(), iu.getVersion(), IPropertyAdvice.class);
+ Collection<IPropertyAdvice> advice = info.getAdvice(null, false, iu.getId(), iu.getVersion(),
+ IPropertyAdvice.class);
for (IPropertyAdvice entry : advice) {
Map<String, String> props = entry.getArtifactProperties(iu, descriptor);
if (props == null)
@@ -266,11 +297,13 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
/**
* Add all of the advised IU properties for the given IU.
- * @param iu the IU to decorate
+ *
+ * @param iu the IU to decorate
* @param info the publisher info supplying the advice
*/
protected static void processInstallableUnitPropertiesAdvice(InstallableUnitDescription iu, IPublisherInfo info) {
- Collection<IPropertyAdvice> advice = info.getAdvice(null, false, iu.getId(), iu.getVersion(), IPropertyAdvice.class);
+ Collection<IPropertyAdvice> advice = info.getAdvice(null, false, iu.getId(), iu.getVersion(),
+ IPropertyAdvice.class);
for (IPropertyAdvice entry : advice) {
Map<String, String> props = entry.getInstallableUnitProperties(iu);
if (props == null)
@@ -283,17 +316,19 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
/**
* Add any update descriptor advice to the given IU
- * @param iu the IU to decorate
+ *
+ * @param iu the IU to decorate
* @param info the publisher info supplying the advice
*/
protected static void processUpdateDescriptorAdvice(InstallableUnitDescription iu, IPublisherInfo info) {
- Collection<IUpdateDescriptorAdvice> advice = info.getAdvice(null, false, iu.getId(), iu.getVersion(), IUpdateDescriptorAdvice.class);
+ Collection<IUpdateDescriptorAdvice> advice = info.getAdvice(null, false, iu.getId(), iu.getVersion(),
+ IUpdateDescriptorAdvice.class);
if (advice.isEmpty())
return;
for (IUpdateDescriptorAdvice entry : advice) {
- //process the IU Descriptor
+ // process the IU Descriptor
IUpdateDescriptor updateDescriptor = entry.getUpdateDescriptor(iu);
if (updateDescriptor != null) {
iu.setUpdateDescriptor(updateDescriptor);
@@ -302,23 +337,27 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
}
/**
- * Add all of the advised provided and required capabilities for the given installable unit.
- * @param iu the IU to decorate
+ * Add all of the advised provided and required capabilities for the given
+ * installable unit.
+ *
+ * @param iu the IU to decorate
* @param info the publisher info supplying the advice
*/
protected static void processCapabilityAdvice(InstallableUnitDescription iu, IPublisherInfo info) {
- Collection<ICapabilityAdvice> advice = info.getAdvice(null, false, iu.getId(), iu.getVersion(), ICapabilityAdvice.class);
+ Collection<ICapabilityAdvice> advice = info.getAdvice(null, false, iu.getId(), iu.getVersion(),
+ ICapabilityAdvice.class);
if (advice.isEmpty())
return;
for (ICapabilityAdvice entry : advice) {
- //process required capabilities
+ // process required capabilities
IRequirement[] requiredAdvice = entry.getRequiredCapabilities(iu);
if (requiredAdvice != null) {
List<IRequirement> current = iu.getRequirements();
Set<IRequirement> resultRequiredCapabilities = new HashSet<>(current);
- // remove current required capabilities that match (same name and namespace) advice.
+ // remove current required capabilities that match (same name and namespace)
+ // advice.
for (IRequirement currReq : current) {
IRequiredCapability currentRequiredCapability = toRequiredCapability(currReq);
if (currentRequiredCapability == null) {
@@ -331,7 +370,8 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
continue;
}
- if (requiredCapability.getNamespace().equals(currentRequiredCapability.getNamespace()) && requiredCapability.getName().equals(currentRequiredCapability.getName())) {
+ if (requiredCapability.getNamespace().equals(currentRequiredCapability.getNamespace())
+ && requiredCapability.getName().equals(currentRequiredCapability.getName())) {
resultRequiredCapabilities.remove(currentRequiredCapability);
break;
}
@@ -339,16 +379,18 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
}
// add all advice
resultRequiredCapabilities.addAll(Arrays.asList(requiredAdvice));
- iu.setRequirements(resultRequiredCapabilities.toArray(new IRequirement[resultRequiredCapabilities.size()]));
+ iu.setRequirements(
+ resultRequiredCapabilities.toArray(new IRequirement[resultRequiredCapabilities.size()]));
}
- //process meta required capabilities
+ // process meta required capabilities
IRequirement[] metaRequiredAdvice = entry.getMetaRequiredCapabilities(iu);
if (metaRequiredAdvice != null) {
Collection<IRequirement> current = iu.getMetaRequirements();
Set<IRequirement> resultMetaRequiredCapabilities = new HashSet<>(current);
- // remove current meta-required capabilities that match (same name and namespace) advice.
+ // remove current meta-required capabilities that match (same name and
+ // namespace) advice.
for (IRequirement currMetaReq : current) {
IRequiredCapability currentMetaRequiredCapability = toRequiredCapability(currMetaReq);
if (currentMetaRequiredCapability == null) {
@@ -361,7 +403,8 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
continue;
}
- if (metaRequiredCapability.getNamespace().equals(currentMetaRequiredCapability.getNamespace()) && metaRequiredCapability.getName().equals(currentMetaRequiredCapability.getName())) {
+ if (metaRequiredCapability.getNamespace().equals(currentMetaRequiredCapability.getNamespace())
+ && metaRequiredCapability.getName().equals(currentMetaRequiredCapability.getName())) {
resultMetaRequiredCapabilities.remove(currentMetaRequiredCapability);
break;
}
@@ -370,24 +413,27 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
// add all advice
resultMetaRequiredCapabilities.addAll(Arrays.asList(metaRequiredAdvice));
- iu.setMetaRequirements(resultMetaRequiredCapabilities.toArray(new IRequirement[resultMetaRequiredCapabilities.size()]));
+ iu.setMetaRequirements(resultMetaRequiredCapabilities
+ .toArray(new IRequirement[resultMetaRequiredCapabilities.size()]));
}
- //process provided capabilities
+ // process provided capabilities
IProvidedCapability[] providedAdvice = entry.getProvidedCapabilities(iu);
if (providedAdvice != null) {
Collection<IProvidedCapability> current = iu.getProvidedCapabilities();
Set<IProvidedCapability> resultProvidedCapabilities = new HashSet<>(current);
for (IProvidedCapability currentProvidedCapability : current) {
for (IProvidedCapability providedCapability : providedAdvice) {
- if (providedCapability.getNamespace().equals(currentProvidedCapability.getNamespace()) && providedCapability.getName().equals(currentProvidedCapability.getName())) {
+ if (providedCapability.getNamespace().equals(currentProvidedCapability.getNamespace())
+ && providedCapability.getName().equals(currentProvidedCapability.getName())) {
resultProvidedCapabilities.remove(currentProvidedCapability);
break;
}
}
}
resultProvidedCapabilities.addAll(Arrays.asList(providedAdvice));
- iu.setCapabilities(resultProvidedCapabilities.toArray(new IProvidedCapability[resultProvidedCapabilities.size()]));
+ iu.setCapabilities(
+ resultProvidedCapabilities.toArray(new IProvidedCapability[resultProvidedCapabilities.size()]));
}
}
}
@@ -407,16 +453,21 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
/**
* Adds all applicable touchpoint advice to the given installable unit.
- * @param iu The installable unit to add touchpoint advice to
- * @param currentInstructions The set of touchpoint instructions assembled for this IU so far
- * @param info The publisher info
+ *
+ * @param iu The installable unit to add touchpoint advice to
+ * @param currentInstructions The set of touchpoint instructions assembled for
+ * this IU so far
+ * @param info The publisher info
*/
- protected static void processTouchpointAdvice(InstallableUnitDescription iu, Map<String, ? extends Object> currentInstructions, IPublisherInfo info) {
+ protected static void processTouchpointAdvice(InstallableUnitDescription iu,
+ Map<String, ? extends Object> currentInstructions, IPublisherInfo info) {
processTouchpointAdvice(iu, currentInstructions, info, null);
}
- protected static void processTouchpointAdvice(InstallableUnitDescription iu, Map<String, ? extends Object> currentInstructions, IPublisherInfo info, String configSpec) {
- Collection<ITouchpointAdvice> advice = info.getAdvice(configSpec, false, iu.getId(), iu.getVersion(), ITouchpointAdvice.class);
+ protected static void processTouchpointAdvice(InstallableUnitDescription iu,
+ Map<String, ? extends Object> currentInstructions, IPublisherInfo info, String configSpec) {
+ Collection<ITouchpointAdvice> advice = info.getAdvice(configSpec, false, iu.getId(), iu.getVersion(),
+ ITouchpointAdvice.class);
if (currentInstructions == null) {
if (advice == null || advice.isEmpty())
return;
@@ -433,10 +484,13 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
}
/**
- * Publishes the artifact by zipping the <code>files</code> using <code>root</code>
- * as a base for relative paths. Then copying the zip into the repository.
- * @param descriptor used to identify the zip.
- * @param inclusion the file to be published. files can be <code>null</code> but no action is taken.
+ * Publishes the artifact by zipping the <code>files</code> using
+ * <code>root</code> as a base for relative paths. Then copying the zip into the
+ * repository.
+ *
+ * @param descriptor used to identify the zip.
+ * @param inclusion the file to be published. files can be <code>null</code>
+ * but no action is taken.
* @param publisherInfo the publisher info.
*/
protected void publishArtifact(IArtifactDescriptor descriptor, File inclusion, IPublisherInfo publisherInfo) {
@@ -448,13 +502,15 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
if (destination == null || destination.contains(descriptor))
return;
- // if all we are doing is indexing things then add the descriptor and get on with it
+ // if all we are doing is indexing things then add the descriptor and get on
+ // with it
if ((publisherInfo.getArtifactOptions() & IPublisherInfo.A_PUBLISH) == 0) {
destination.addDescriptor(descriptor, new NullProgressMonitor());
return;
}
- // if the file is already in the same location the repo will put it, just add the descriptor and exit
+ // if the file is already in the same location the repo will put it, just add
+ // the descriptor and exit
if (destination instanceof IFileArtifactRepository) {
File descriptorFile = ((IFileArtifactRepository) destination).getArtifactFile(descriptor);
if (inclusion.equals(descriptorFile)) {
@@ -477,15 +533,20 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
}
/**
- * Publishes the artifact by zipping the <code>files</code> using <code>root</code>
- * as a base for relative paths. Then copying the zip into the repository.
- * @param descriptor used to identify the zip.
- * @param inclusions and folders to be included in the zip. files can be null.
- * @param exclusions and folders to be excluded in the zip. files can be null.
- * @param publisherInfo the publisher info.
+ * Publishes the artifact by zipping the <code>files</code> using
+ * <code>root</code> as a base for relative paths. Then copying the zip into the
+ * repository.
+ *
+ * @param descriptor used to identify the zip.
+ * @param inclusions and folders to be included in the zip. files can be
+ * null.
+ * @param exclusions and folders to be excluded in the zip. files can be
+ * null.
+ * @param publisherInfo the publisher info.
* @param prefixComputer
*/
- protected void publishArtifact(IArtifactDescriptor descriptor, File[] inclusions, File[] exclusions, IPublisherInfo publisherInfo, IPathComputer prefixComputer) {
+ protected void publishArtifact(IArtifactDescriptor descriptor, File[] inclusions, File[] exclusions,
+ IPublisherInfo publisherInfo, IPathComputer prefixComputer) {
// no files to publish so this is done.
if (inclusions == null || inclusions.length < 1)
return;
@@ -493,15 +554,18 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
IArtifactRepository destination = publisherInfo.getArtifactRepository();
if (destination == null || destination.contains(descriptor))
return;
- // if all we are doing is indexing things then add the descriptor and get on with it
+ // if all we are doing is indexing things then add the descriptor and get on
+ // with it
if ((publisherInfo.getArtifactOptions() & IPublisherInfo.A_PUBLISH) == 0) {
destination.addDescriptor(descriptor, new NullProgressMonitor());
return;
}
// TODO need to implement the overwrite story in the repos
- // boolean overwrite = (info.getArtifactOptions() & IPublisherInfo.A_OVERWRITE) > 0;
- // if there is just one file and the mode is as-is, just copy the file into the repo
+ // boolean overwrite = (info.getArtifactOptions() & IPublisherInfo.A_OVERWRITE)
+ // > 0;
+ // if there is just one file and the mode is as-is, just copy the file into the
+ // repo
// otherwise, zip up the files and copy the zip into the repo
File tempFile = null;
try {
@@ -525,9 +589,10 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
}
/**
- * Loop over the known metadata repositories looking for the given IU.
- * Return the first IU found.
- * @param iuId the id of the IU to look for
+ * Loop over the known metadata repositories looking for the given IU. Return
+ * the first IU found.
+ *
+ * @param iuId the id of the IU to look for
* @return the first matching IU or <code>null</code> if none.
*/
protected IInstallableUnit queryForIU(IPublisherResult publisherResult, String iuId, Version version) {
@@ -549,13 +614,16 @@ public abstract class AbstractPublisherAction implements IPublisherAction {
}
/**
- * Loop over the known metadata repositories looking for the given IU within a particular range
+ * Loop over the known metadata repositories looking for the given IU within a
+ * particular range
+ *
* @param publisherResult
- * @param iuId the id of the IU to look for
- * @param versionRange the version range to consider
+ * @param iuId the id of the IU to look for
+ * @param versionRange the version range to consider
* @return The the IUs with the matching ids in the given range
*/
- protected IQueryResult<IInstallableUnit> queryForIUs(IPublisherResult publisherResult, String iuId, VersionRange versionRange) {
+ protected IQueryResult<IInstallableUnit> queryForIUs(IPublisherResult publisherResult, String iuId,
+ VersionRange versionRange) {
IQuery<IInstallableUnit> query = null;
IQueryResult<IInstallableUnit> queryResult = Collector.emptyCollector();
query = QueryUtil.createIUQuery(iuId, versionRange);
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractPublisherApplication.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractPublisherApplication.java
index 5a380a8e2..6f2dee301 100644
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractPublisherApplication.java
+++ b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/AbstractPublisherApplication.java
@@ -7,7 +7,7 @@
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
- *
+ *
* Contributors:
* IBM Corporation - initial API and implementation
* EclipseSource - ongoing development
@@ -37,14 +37,19 @@ import org.osgi.framework.ServiceReference;
public abstract class AbstractPublisherApplication implements IApplication {
- // The mapping rules for in-place generation need to construct paths into the structure
- // of an eclipse installation; in the future the default artifact mapping declared in
- // SimpleArtifactRepository may change, for example, to not have a 'bundles' directory
- // instead of a 'plugins' directory, so a separate constant is defined and used here.
- static final protected String[][] INPLACE_MAPPING_RULES = {{"(& (classifier=osgi.bundle) (format=packed)", "${repoUrl}/features/${id}_${version}.jar.pack.gz"}, //$NON-NLS-1$//$NON-NLS-2$
- {"(& (classifier=osgi.bundle))", "${repoUrl}/plugins/${id}_${version}.jar"}, //$NON-NLS-1$//$NON-NLS-2$
- {"(& (classifier=binary))", "${repoUrl}/binary/${id}_${version}"}, //$NON-NLS-1$//$NON-NLS-2$
- {"(& (classifier=org.eclipse.update.feature))", "${repoUrl}/features/${id}_${version}.jar"}}; //$NON-NLS-1$//$NON-NLS-2$
+ // The mapping rules for in-place generation need to construct paths into the
+ // structure
+ // of an eclipse installation; in the future the default artifact mapping
+ // declared in
+ // SimpleArtifactRepository may change, for example, to not have a 'bundles'
+ // directory
+ // instead of a 'plugins' directory, so a separate constant is defined and used
+ // here.
+ static final protected String[][] INPLACE_MAPPING_RULES = {
+ { "(& (classifier=osgi.bundle) (format=packed)", "${repoUrl}/features/${id}_${version}.jar.pack.gz" }, //$NON-NLS-1$//$NON-NLS-2$
+ { "(& (classifier=osgi.bundle))", "${repoUrl}/plugins/${id}_${version}.jar" }, //$NON-NLS-1$//$NON-NLS-2$
+ { "(& (classifier=binary))", "${repoUrl}/binary/${id}_${version}" }, //$NON-NLS-1$//$NON-NLS-2$
+ { "(& (classifier=org.eclipse.update.feature))", "${repoUrl}/features/${id}_${version}.jar" } }; //$NON-NLS-1$//$NON-NLS-2$
static final public String PUBLISH_PACK_FILES_AS_SIBLINGS = "publishPackFilesAsSiblings"; //$NON-NLS-1$
@@ -56,7 +61,7 @@ public abstract class AbstractPublisherApplication implements IApplication {
protected String artifactRepoName;
protected URI[] contextMetadataRepositories;
protected URI[] contextArtifactRepositories;
- //whether repository xml files should be compressed
+ // whether repository xml files should be compressed
protected boolean compress = false;
protected boolean inplace = false;
protected boolean append = false;
@@ -69,8 +74,8 @@ public abstract class AbstractPublisherApplication implements IApplication {
protected IProvisioningAgent agent;
/**
- * Returns the error message for this application, or the empty string
- * if the application terminated successfully.
+ * Returns the error message for this application, or the empty string if the
+ * application terminated successfully.
*/
public IStatus getStatus() {
return status;
@@ -83,7 +88,8 @@ public abstract class AbstractPublisherApplication implements IApplication {
metadataLocation = location.toURI();
if (artifactLocation == null)
artifactLocation = location.toURI();
- publisherInfo.setArtifactOptions(publisherInfo.getArtifactOptions() | IPublisherInfo.A_INDEX | IPublisherInfo.A_PUBLISH);
+ publisherInfo.setArtifactOptions(
+ publisherInfo.getArtifactOptions() | IPublisherInfo.A_INDEX | IPublisherInfo.A_PUBLISH);
}
initializeRepositories(publisherInfo);
}
@@ -99,14 +105,18 @@ public abstract class AbstractPublisherApplication implements IApplication {
protected void initializeRepositories(PublisherInfo publisherInfo) throws ProvisionException {
if (artifactLocation != null) {
- IArtifactRepository repo = Publisher.createArtifactRepository(agent, artifactLocation, artifactRepoName, compress, reusePackedFiles);
+ @SuppressWarnings("removal")
+ IArtifactRepository repo = Publisher.createArtifactRepository(agent, artifactLocation, artifactRepoName,
+ compress, reusePackedFiles);
if (!append && !isEmpty(repo)) {
File repoLocation = URIUtil.toFile(artifactLocation);
if (repoLocation != null && source != null) {
if (repoLocation.isFile())
repoLocation = repoLocation.getParentFile();
if (repoLocation.equals(new File(source)))
- throw new IllegalArgumentException(NLS.bind(Messages.exception_artifactRepoNoAppendDestroysInput, URIUtil.toUnencodedString(artifactLocation)));
+ throw new IllegalArgumentException(
+ NLS.bind(Messages.exception_artifactRepoNoAppendDestroysInput,
+ URIUtil.toUnencodedString(artifactLocation)));
}
repo.removeAll(new NullProgressMonitor());
}
@@ -115,7 +125,8 @@ public abstract class AbstractPublisherApplication implements IApplication {
throw new ProvisionException(createConfigurationEror(Messages.exception_noArtifactRepo));
if (metadataLocation == null)
throw new ProvisionException(createConfigurationEror(Messages.exception_noMetadataRepo));
- publisherInfo.setMetadataRepository(Publisher.createMetadataRepository(agent, metadataLocation, metadataRepoName, append, compress));
+ publisherInfo.setMetadataRepository(
+ Publisher.createMetadataRepository(agent, metadataLocation, metadataRepoName, append, compress));
if (contextMetadataRepositories != null && contextMetadataRepositories.length > 0) {
CompositeMetadataRepository contextMetadata = CompositeMetadataRepository.createMemoryComposite(agent);
@@ -147,8 +158,10 @@ public abstract class AbstractPublisherApplication implements IApplication {
// check for args without parameters (i.e., a flag arg)
processFlag(args[i], publisherInfo);
- // check for args with parameters. If we are at the last argument or if the next one
- // has a '-' as the first character, then we can't have an arg with a parm so continue.
+ // check for args with parameters. If we are at the last argument or if the next
+ // one
+ // has a '-' as the first character, then we can't have an arg with a parm so
+ // continue.
if (i == args.length - 1 || args[i + 1].startsWith("-")) //$NON-NLS-1$
continue;
processParameter(args[i], args[++i], publisherInfo);
@@ -157,9 +170,11 @@ public abstract class AbstractPublisherApplication implements IApplication {
/**
* Process application arguments.
+ *
* @throws URISyntaxException thrown by subclasses
*/
- protected void processParameter(String arg, String parameter, PublisherInfo publisherInfo) throws URISyntaxException {
+ protected void processParameter(String arg, String parameter, PublisherInfo publisherInfo)
+ throws URISyntaxException {
try {
if (arg.equalsIgnoreCase("-metadataRepository") || arg.equalsIgnoreCase("-mr")) //$NON-NLS-1$ //$NON-NLS-2$
metadataLocation = URIUtil.fromString(parameter);
@@ -174,8 +189,10 @@ public abstract class AbstractPublisherApplication implements IApplication {
metadataRepoName = parameter;
if (arg.equalsIgnoreCase("-source")) { //$NON-NLS-1$
- // check here to see if the location actually exists so we can fail gracefully now rather than unpredictably later
- // see bug 272956 where we would fail with an NPE if someone gave us a URL instead of a file-system path
+ // check here to see if the location actually exists so we can fail gracefully
+ // now rather than unpredictably later
+ // see bug 272956 where we would fail with an NPE if someone gave us a URL
+ // instead of a file-system path
if (!new File(parameter).exists())
throw new IllegalArgumentException(NLS.bind(Messages.exception_sourcePath, parameter));
source = parameter;
@@ -204,7 +221,7 @@ public abstract class AbstractPublisherApplication implements IApplication {
for (String uri : list) {
try {
result.add(URIUtil.fromString(uri));
- }catch (URISyntaxException e) {
+ } catch (URISyntaxException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
@@ -220,7 +237,7 @@ public abstract class AbstractPublisherApplication implements IApplication {
if (arg.equalsIgnoreCase("-publishArtifactRepository") || arg.equalsIgnoreCase("-par")) //$NON-NLS-1$ //$NON-NLS-2$
publisherInfo.setArtifactOptions(publisherInfo.getArtifactOptions() | IPublisherInfo.A_INDEX);
- if (arg.equalsIgnoreCase("-overwriteArtifacts")) //$NON-NLS-1$
+ if (arg.equalsIgnoreCase("-overwriteArtifacts")) //$NON-NLS-1$
publisherInfo.setArtifactOptions(publisherInfo.getArtifactOptions() | IPublisherInfo.A_OVERWRITE);
if (arg.equalsIgnoreCase("-append")) //$NON-NLS-1$
@@ -243,13 +260,14 @@ public abstract class AbstractPublisherApplication implements IApplication {
if (agent != null)
return;
}
- ServiceReference<IProvisioningAgentProvider> providerRef = Activator.getContext().getServiceReference(IProvisioningAgentProvider.class);
+ ServiceReference<IProvisioningAgentProvider> providerRef = Activator.getContext()
+ .getServiceReference(IProvisioningAgentProvider.class);
if (providerRef == null)
throw new RuntimeException("No provisioning agent provider is available"); //$NON-NLS-1$
IProvisioningAgentProvider provider = Activator.getContext().getService(providerRef);
if (provider == null)
throw new RuntimeException("No provisioning agent provider is available"); //$NON-NLS-1$
- //obtain agent for currently running system
+ // obtain agent for currently running system
agent = provider.createAgent(null);
Activator.getContext().ungetService(providerRef);
}
@@ -304,7 +322,8 @@ public abstract class AbstractPublisherApplication implements IApplication {
}
}
if (!result.matches(IStatus.ERROR | IStatus.CANCEL)) {
- System.out.println(NLS.bind(Messages.message_generationCompleted, String.valueOf((after - before) / 1000)));
+ System.out.println(
+ NLS.bind(Messages.message_generationCompleted, String.valueOf((after - before) / 1000)));
return IApplication.EXIT_OK;
}
} catch (ProvisionException e) {
@@ -343,6 +362,13 @@ public abstract class AbstractPublisherApplication implements IApplication {
this.metadataLocation = location;
}
+ /**
+ * @noreference This method is not intended to be referenced by clients.
+ * @deprecated See <a href=
+ * "https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a>
+ * for details.
+ */
+ @Deprecated(forRemoval = true, since = "1.6.0")
public boolean reuseExistingPack200Files() {
return reusePackedFiles;
}
diff --git a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/Publisher.java b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/Publisher.java
index 9fcd96efd..ebbdde5ea 100644
--- a/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/Publisher.java
+++ b/bundles/org.eclipse.equinox.p2.publisher/src/org/eclipse/equinox/p2/publisher/Publisher.java
@@ -8,8 +8,8 @@
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
- *
- * Contributors:
+ *
+ * Contributors:
* Code 9 - initial API and implementation
* IBM - ongoing development
******************************************************************************/
@@ -37,18 +37,21 @@ public class Publisher {
private IPublisherResult results;
/**
- * Returns a metadata repository that corresponds to the given settings. If a repository at the
- * given location already exists, it is updated with the settings and returned. If no repository
- * is found then a new Simple repository is created, configured and returned
- * @param agent the provisioning agent to use when creating the repository
+ * Returns a metadata repository that corresponds to the given settings. If a
+ * repository at the given location already exists, it is updated with the
+ * settings and returned. If no repository is found then a new Simple repository
+ * is created, configured and returned
+ *
+ * @param agent the provisioning agent to use when creating the repository
* @param location the URL location of the repository
- * @param name the name of the repository
- * @param append whether or not the repository should appended or cleared
+ * @param name the name of the repository
+ * @param append whether or not the repository should appended or cleared
* @param compress whether or not to compress the repository index
* @return the discovered or created repository
* @throws ProvisionException
*/
- public static IMetadataRepository createMetadataRepository(IProvisioningAgent agent, URI location, String name, boolean append, boolean compress) throws ProvisionException {
+ public static IMetadataRepository createMetadataRepository(IProvisioningAgent agent, URI location, String name,
+ boolean append, boolean compress) throws ProvisionException {
try {
IMetadataRepository result = loadMetadataRepository(agent, location, true, true);
if (result != null && result.isModifiable()) {
@@ -58,54 +61,75 @@ public class Publisher {
return result;
}
} catch (ProvisionException e) {
- //fall through and create a new repository
+ // fall through and create a new repository
}
- // the given repo location is not an existing repo so we have to create something
+ // the given repo location is not an existing repo so we have to create
+ // something
IMetadataRepositoryManager manager = getService(agent, IMetadataRepositoryManager.SERVICE_NAME);
String repositoryName = name == null ? location + " - metadata" : name; //$NON-NLS-1$
- IMetadataRepository result = manager.createRepository(location, repositoryName, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
+ IMetadataRepository result = manager.createRepository(location, repositoryName,
+ IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
if (result != null) {
manager.removeRepository(result.getLocation());
result.setProperty(IRepository.PROP_COMPRESSED, compress ? "true" : "false"); //$NON-NLS-1$ //$NON-NLS-2$
return result;
}
- // I don't think we can really get here, but just in case, we better throw a provisioning exception
+ // I don't think we can really get here, but just in case, we better throw a
+ // provisioning exception
String msg = org.eclipse.equinox.internal.p2.metadata.repository.Messages.repoMan_internalError;
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.INTERNAL_ERROR, msg, null));
+ throw new ProvisionException(
+ new Status(IStatus.ERROR, Activator.ID, ProvisionException.INTERNAL_ERROR, msg, null));
}
/**
* Load a metadata repository from the given location.
- * @param location the URI location of the repository
- * @param modifiable whether to ask the manager for a modifiable repository
- * @param removeFromManager remove the loaded repository from the manager if it wasn't already loaded
+ *
+ * @param location the URI location of the repository
+ * @param modifiable whether to ask the manager for a modifiable
+ * repository
+ * @param removeFromManager remove the loaded repository from the manager if it
+ * wasn't already loaded
* @return the loaded repository
* @throws ProvisionException
*/
- public static IMetadataRepository loadMetadataRepository(IProvisioningAgent agent, URI location, boolean modifiable, boolean removeFromManager) throws ProvisionException {
+ public static IMetadataRepository loadMetadataRepository(IProvisioningAgent agent, URI location, boolean modifiable,
+ boolean removeFromManager) throws ProvisionException {
IMetadataRepositoryManager manager = getService(agent, IMetadataRepositoryManager.SERVICE_NAME);
boolean existing = manager.contains(location);
- IMetadataRepository result = manager.loadRepository(location, modifiable ? IRepositoryManager.REPOSITORY_HINT_MODIFIABLE : 0, null);
+ IMetadataRepository result = manager.loadRepository(location,
+ modifiable ? IRepositoryManager.REPOSITORY_HINT_MODIFIABLE : 0, null);
if (!existing && removeFromManager)
manager.removeRepository(location);
return result;
}
/**
- * Returns an artifact repository that corresponds to the given settings. If a repository at the
- * given location already exists, it is updated with the settings and returned. If no repository
- * is found then a new Simple repository is created, configured and returned
- * @param agent the provisioning agent to use when creating the repository
- * @param location the URL location of the repository
- * @param name the name of the repository
- * @param compress whether or not to compress the repository index
- * @param reusePackedFiles whether or not to include discovered Pack200 files in the repository
+ * Returns an artifact repository that corresponds to the given settings. If a
+ * repository at the given location already exists, it is updated with the
+ * settings and returned. If no repository is found then a new Simple repository
+ * is created, configured and returned
+ *
+ * @param agent the provisioning agent to use when creating the
+ * repository
+ * @param location the URL location of the repository
+ * @param name the name of the repository
+ * @param compress whether or not to compress the repository index
+ * @param reusePackedFiles whether or not to include discovered Pack200 files in
+ * the repository
* @return the discovered or created repository
* @throws ProvisionException
+ *
+ * @deprecated See <a href=
+ * "https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a>
+ * for details. Use
+ * {@link #createArtifactRepository(IprovisioningAgent, URI, String, boolean)}
+ * instead.
*/
- public static IArtifactRepository createArtifactRepository(IProvisioningAgent agent, URI location, String name, boolean compress, boolean reusePackedFiles) throws ProvisionException {
+ @Deprecated(forRemoval = true, since = "2.3.0")
+ public static IArtifactRepository createArtifactRepository(IProvisioningAgent agent, URI location, String name,
+ boolean compress, boolean reusePackedFiles) throws ProvisionException {
try {
IArtifactRepository result = loadArtifactRepository(agent, location, true, true);
if (result != null && result.isModifiable()) {
@@ -115,12 +139,13 @@ public class Publisher {
return result;
}
} catch (ProvisionException e) {
- //fall through and create a new repository
+ // fall through and create a new repository
}
IArtifactRepositoryManager manager = getService(agent, IArtifactRepositoryManager.SERVICE_NAME);
String repositoryName = name != null ? name : location + " - artifacts"; //$NON-NLS-1$
- IArtifactRepository result = manager.createRepository(location, repositoryName, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
+ IArtifactRepository result = manager.createRepository(location, repositoryName,
+ IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
if (result != null) {
manager.removeRepository(result.getLocation());
if (reusePackedFiles)
@@ -128,24 +153,73 @@ public class Publisher {
result.setProperty(IRepository.PROP_COMPRESSED, compress ? "true" : "false"); //$NON-NLS-1$//$NON-NLS-2$
return result;
}
- // I don't think we can really get here, but just in case, we better throw a provisioning exception
+ // I don't think we can really get here, but just in case, we better throw a
+ // provisioning exception
+ String msg = org.eclipse.equinox.internal.p2.artifact.repository.Messages.repoMan_internalError;
+ throw new ProvisionException(
+ new Status(IStatus.ERROR, Activator.ID, ProvisionException.INTERNAL_ERROR, msg, null));
+ }
+
+ /**
+ * Returns an artifact repository that corresponds to the given settings. If a
+ * repository at the given location already exists, it is updated with the
+ * settings and returned. If no repository is found then a new Simple repository
+ * is created, configured and returned
+ *
+ * @param agent the provisioning agent to use when creating the repository
+ * @param location the URL location of the repository
+ * @param name the name of the repository
+ * @param compress whether or not to compress the repository index
+ * @return the discovered or created repository
+ * @throws ProvisionException
+ */
+ @Deprecated(forRemoval = true, since = "2.3.0")
+ public static IArtifactRepository createArtifactRepository(IProvisioningAgent agent, URI location, String name,
+ boolean compress) throws ProvisionException {
+ try {
+ IArtifactRepository result = loadArtifactRepository(agent, location, true, true);
+ if (result != null && result.isModifiable()) {
+ result.setProperty(IRepository.PROP_COMPRESSED, compress ? "true" : "false"); //$NON-NLS-1$//$NON-NLS-2$
+ return result;
+ }
+ } catch (ProvisionException e) {
+ // fall through and create a new repository
+ }
+
+ IArtifactRepositoryManager manager = getService(agent, IArtifactRepositoryManager.SERVICE_NAME);
+ String repositoryName = name != null ? name : location + " - artifacts"; //$NON-NLS-1$
+ IArtifactRepository result = manager.createRepository(location, repositoryName,
+ IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
+ if (result != null) {
+ manager.removeRepository(result.getLocation());
+ result.setProperty(IRepository.PROP_COMPRESSED, compress ? "true" : "false"); //$NON-NLS-1$//$NON-NLS-2$
+ return result;
+ }
+ // I don't think we can really get here, but just in case, we better throw a
+ // provisioning exception
String msg = org.eclipse.equinox.internal.p2.artifact.repository.Messages.repoMan_internalError;
- throw new ProvisionException(new Status(IStatus.ERROR, Activator.ID, ProvisionException.INTERNAL_ERROR, msg, null));
+ throw new ProvisionException(
+ new Status(IStatus.ERROR, Activator.ID, ProvisionException.INTERNAL_ERROR, msg, null));
}
/**
* Load an artifact repository from the given location.
- * @param location the URI location of the repository
- * @param modifiable whether to ask the manager for a modifiable repository
- * @param removeFromManager remove the loaded repository from the manager if it wasn't already loaded
+ *
+ * @param location the URI location of the repository
+ * @param modifiable whether to ask the manager for a modifiable
+ * repository
+ * @param removeFromManager remove the loaded repository from the manager if it
+ * wasn't already loaded
* @return the loaded repository
* @throws ProvisionException
*/
- public static IArtifactRepository loadArtifactRepository(IProvisioningAgent agent, URI location, boolean modifiable, boolean removeFromManager) throws ProvisionException {
+ public static IArtifactRepository loadArtifactRepository(IProvisioningAgent agent, URI location, boolean modifiable,
+ boolean removeFromManager) throws ProvisionException {
IArtifactRepositoryManager manager = getService(agent, IArtifactRepositoryManager.SERVICE_NAME);
boolean existing = manager.contains(location);
- IArtifactRepository result = manager.loadRepository(location, modifiable ? IRepositoryManager.REPOSITORY_HINT_MODIFIABLE : 0, null);
+ IArtifactRepository result = manager.loadRepository(location,
+ modifiable ? IRepositoryManager.REPOSITORY_HINT_MODIFIABLE : 0, null);
if (!existing && removeFromManager)
manager.removeRepository(location);
return result;
@@ -157,12 +231,13 @@ public class Publisher {
}
/**
- * Obtains a service from the agent, waiting for a reasonable timeout period
- * if the service is not yet available. This method never returns <code>null</code>;
- * an exception is thrown if the service could not be obtained.
- *
- * @param <T> The type of the service to return
- * @param agent The agent to obtain the service from
+ * Obtains a service from the agent, waiting for a reasonable timeout period if
+ * the service is not yet available. This method never returns
+ * <code>null</code>; an exception is thrown if the service could not be
+ * obtained.
+ *
+ * @param <T> The type of the service to return
+ * @param agent The agent to obtain the service from
* @param serviceName The name of the service to obtain
* @return The service instance
*/
@@ -176,13 +251,13 @@ public class Publisher {
try {
Thread.sleep(100);
} catch (InterruptedException e) {
- //ignore and keep waiting
+ // ignore and keep waiting
}
service = (T) agent.getService(serviceName);
if (service != null)
return service;
} while ((System.currentTimeMillis() - start) < SERVICE_TIMEOUT);
- //could not obtain the service
+ // could not obtain the service
throw new IllegalStateException("Unable to obtain required service: " + serviceName); //$NON-NLS-1$
}
@@ -236,7 +311,7 @@ public class Publisher {
if (info.getArtifactRepository() != null) {
finalStatus = info.getArtifactRepository().executeBatch(artifactProcess, sub);
if (!finalStatus.matches(IStatus.ERROR | IStatus.CANCEL))
- // If the batch process didn't report any errors, then
+ // If the batch process didn't report any errors, then
// Use the status from our actions
finalStatus = artifactProcess.getStatus();
} else {
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.classpath b/bundles/org.eclipse.equinox.p2.reconciler.dropins/.classpath
index eca7bdba8..e801ebfb4 100644
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.classpath
+++ b/bundles/org.eclipse.equinox.p2.reconciler.dropins/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.core.prefs
index daddac459..83ab682e5 100644
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.reconciler.dropins/.settings/org.eclipse.jdt.core.prefs
@@ -18,9 +18,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -37,6 +37,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=error
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -90,6 +91,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -126,7 +128,8 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_assignment_statements_on_columns=false
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
@@ -140,7 +143,6 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_compact_loops=16
@@ -261,7 +263,6 @@ org.eclipse.jdt.core.formatter.insert_space_after_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
@@ -332,7 +333,6 @@ org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_case=insert
org.eclipse.jdt.core.formatter.insert_space_before_arrow_in_switch_default=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
@@ -477,7 +477,6 @@ org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF
index bbab9bf24..5131cf0e6 100644
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.reconciler.dropins/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.reconciler.dropins;singleton:=true
-Bundle-Version: 1.3.500.qualifier
+Bundle-Version: 1.4.0.qualifier
Bundle-Activator: org.eclipse.equinox.internal.p2.reconciler.dropins.Activator
Bundle-Vendor: %providerName
Bundle-Localization: plugin
@@ -10,7 +10,7 @@ Export-Package: org.eclipse.equinox.internal.p2.reconciler.dropins;x-internal:=t
Require-Bundle: org.eclipse.equinox.common;bundle-version="[3.5.0,4.0.0)",
org.eclipse.equinox.p2.touchpoint.eclipse;bundle-version="1.0.0",
org.eclipse.equinox.p2.metadata
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Import-Package: org.eclipse.equinox.app;version="1.0.0",
org.eclipse.equinox.internal.p2.artifact.repository,
org.eclipse.equinox.internal.p2.core.helpers,
diff --git a/bundles/org.eclipse.equinox.p2.reconciler.dropins/pom.xml b/bundles/org.eclipse.equinox.p2.reconciler.dropins/pom.xml
index ce2b820d8..d1879c4f4 100644
--- a/bundles/org.eclipse.equinox.p2.reconciler.dropins/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.reconciler.dropins/pom.xml
@@ -4,11 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.reconciler.dropins</artifactId>
- <version>1.3.500-SNAPSHOT</version>
+ <version>1.4.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/.classpath b/bundles/org.eclipse.equinox.p2.repository.tools/.classpath
index 030607499..cc48f9f27 100644
--- a/bundles/org.eclipse.equinox.p2.repository.tools/.classpath
+++ b/bundles/org.eclipse.equinox.p2.repository.tools/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" output="bin_ant" path="src_ant"/>
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.repository.tools/.settings/org.eclipse.jdt.core.prefs
index 2e78065b1..cc029895e 100644
--- a/bundles/org.eclipse.equinox.p2.repository.tools/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.repository.tools/.settings/org.eclipse.jdt.core.prefs
@@ -17,9 +17,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -36,6 +36,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -89,6 +90,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -125,10 +127,11 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
@@ -136,20 +139,23 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
@@ -241,11 +247,12 @@ org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
@@ -276,6 +283,8 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -300,13 +309,17 @@ org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
@@ -354,6 +367,8 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do no
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -390,9 +405,12 @@ org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not inser
org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -428,10 +446,14 @@ org.eclipse.jdt.core.formatter.tabulation.char=tab
org.eclipse.jdt.core.formatter.tabulation.size=4
org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
org.eclipse.jdt.core.incompatibleJDKLevel=ignore
org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.repository.tools/META-INF/MANIFEST.MF
index 12b2a9c6c..3dba706cb 100644
--- a/bundles/org.eclipse.equinox.p2.repository.tools/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.repository.tools/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %bundleName
Bundle-SymbolicName: org.eclipse.equinox.p2.repository.tools;singleton:=true
-Bundle-Version: 2.2.600.qualifier
+Bundle-Version: 2.3.0.qualifier
Bundle-Activator: org.eclipse.equinox.p2.internal.repository.tools.Activator
Bundle-Vendor: %providerName
Bundle-Localization: plugin
@@ -15,7 +15,7 @@ Export-Package: org.eclipse.equinox.p2.internal.repository.comparator;x-internal
Require-Bundle: org.eclipse.equinox.common;bundle-version="3.3.0",
org.eclipse.equinox.registry,
org.tukaani.xz;bundle-version="1.3.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Bundle-ActivationPolicy: lazy
Import-Package: org.eclipse.equinox.app;version="1.0.0",
org.eclipse.equinox.frameworkadmin;version="2.0.0",
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/pom.xml b/bundles/org.eclipse.equinox.p2.repository.tools/pom.xml
index 1a108c792..5d6c30012 100644
--- a/bundles/org.eclipse.equinox.p2.repository.tools/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.repository.tools/pom.xml
@@ -4,11 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.repository.tools</artifactId>
- <version>2.2.600-SNAPSHOT</version>
+ <version>2.3.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/java/ClassFileReader.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/java/ClassFileReader.java
index 6ad7ce7e7..1616ea649 100644
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/java/ClassFileReader.java
+++ b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/comparator/java/ClassFileReader.java
@@ -77,7 +77,6 @@ public class ClassFileReader extends ClassFileStruct {
private InnerClassesAttribute innerClassesAttribute;
private int[] interfaceIndexes;
private char[][] interfaceNames;
- private int interfacesCount;
private int magicNumber;
private int majorVersion;
private MethodInfo[] methods;
@@ -199,21 +198,21 @@ public class ClassFileReader extends ClassFileStruct {
}
// Read the interfaces, use exception handlers to catch bad format
- this.interfacesCount = u2At(classFileBytes, readOffset, 0);
+ int interfacesCount = u2At(classFileBytes, readOffset, 0);
readOffset += 2;
this.interfaceNames = NO_INTERFACES_NAMES;
this.interfaceIndexes = Utility.EMPTY_INT_ARRAY;
- if (this.interfacesCount != 0) {
+ if (interfacesCount != 0) {
if ((decodingFlags & SUPER_INTERFACES) != CONSTANT_POOL) {
- this.interfaceNames = new char[this.interfacesCount][];
- this.interfaceIndexes = new int[this.interfacesCount];
- for (int i = 0; i < this.interfacesCount; i++) {
+ this.interfaceNames = new char[interfacesCount][];
+ this.interfaceIndexes = new int[interfacesCount];
+ for (int i = 0; i < interfacesCount; i++) {
this.interfaceIndexes[i] = u2At(classFileBytes, readOffset, 0);
this.interfaceNames[i] = getConstantClassNameAt(classFileBytes, constantPoolOffsets, this.interfaceIndexes[i]);
readOffset += 2;
}
} else {
- readOffset += (2 * this.interfacesCount);
+ readOffset += (2 * interfacesCount);
}
}
// Read the this.fields, use exception handlers to catch bad format
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/Mirroring.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/Mirroring.java
index 524c9faea..2a830635e 100644
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/Mirroring.java
+++ b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/mirroring/Mirroring.java
@@ -7,7 +7,7 @@
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
- *
+ *
* Contributors:
* IBM Corporation - initial API and implementation
* Compeople AG (Stefan Liebig) - various ongoing maintenance
@@ -90,9 +90,11 @@ public class Mirroring {
public MultiStatus run(boolean failOnError, boolean verbose) {
if (!destination.isModifiable())
- throw new IllegalStateException(NLS.bind(Messages.exception_destinationNotModifiable, destination.getLocation()));
+ throw new IllegalStateException(
+ NLS.bind(Messages.exception_destinationNotModifiable, destination.getLocation()));
if (compare)
- getComparator(); //initialize the comparator. Only needed if we're comparing. Used to force error if comparatorID is invalid.
+ getComparator(); // initialize the comparator. Only needed if we're comparing. Used to force
+ // error if comparatorID is invalid.
MultiStatus multiStatus = new MultiStatus(Activator.ID, IStatus.OK, Messages.message_mirroringStatus, null);
Iterator<IArtifactKey> keys = null;
if (keysToMirror != null)
@@ -103,7 +105,8 @@ public class Mirroring {
}
if (compareExclusionQuery != null) {
- IQueryResult<IArtifactDescriptor> exclusions = source.descriptorQueryable().query(compareExclusionQuery, null);
+ IQueryResult<IArtifactDescriptor> exclusions = source.descriptorQueryable().query(compareExclusionQuery,
+ null);
compareExclusions = exclusions.toUnmodifiableSet();
}
@@ -112,10 +115,10 @@ public class Mirroring {
IArtifactDescriptor[] descriptors = source.getArtifactDescriptors(key);
for (IArtifactDescriptor descriptor : descriptors) {
IStatus result = mirror(descriptor, verbose);
- //Only log INFO and WARNING if we want verbose logging. Always log ERRORs
+ // Only log INFO and WARNING if we want verbose logging. Always log ERRORs
if (!result.isOK() && (verbose || result.getSeverity() == IStatus.ERROR))
multiStatus.add(result);
- //stop mirroring as soon as we have an error
+ // stop mirroring as soon as we have an error
if (failOnError && multiStatus.getSeverity() == IStatus.ERROR)
return multiStatus;
}
@@ -146,23 +149,26 @@ public class Mirroring {
return multiStatus;
}
+ @SuppressWarnings("removal")
private IStatus mirror(IArtifactDescriptor sourceDescriptor, boolean verbose) {
- if (!includePacked && IArtifactDescriptor.FORMAT_PACKED.equals(sourceDescriptor.getProperty(IArtifactDescriptor.FORMAT)))
+ if (!includePacked
+ && IArtifactDescriptor.FORMAT_PACKED.equals(sourceDescriptor.getProperty(IArtifactDescriptor.FORMAT)))
return Status.OK_STATUS;
IArtifactDescriptor targetDescriptor = raw ? sourceDescriptor : new ArtifactDescriptor(sourceDescriptor);
IArtifactDescriptor baselineDescriptor = getBaselineDescriptor(sourceDescriptor);
if (verbose)
- System.out.println("Mirroring: " + sourceDescriptor.getArtifactKey() + " (Descriptor: " + sourceDescriptor + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ System.out.println(
+ "Mirroring: " + sourceDescriptor.getArtifactKey() + " (Descriptor: " + sourceDescriptor + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
MultiStatus compareStatus = new MultiStatus(Activator.ID, IStatus.OK, null, null);
boolean comparing = compare && !compareExclusions.contains(sourceDescriptor);
if (comparing) {
if (baselineDescriptor != null) {
- //compare source & baseline
+ // compare source & baseline
compareStatus.add(compare(baseline, baselineDescriptor, source, sourceDescriptor));
- //compare baseline & destination
+ // compare baseline & destination
if (destination.contains(baselineDescriptor)) {
compareStatus.add(compareToDestination(baselineDescriptor));
return compareStatus;
@@ -173,13 +179,13 @@ public class Mirroring {
}
}
- //from source or baseline
+ // from source or baseline
IArtifactRepository sourceRepository = baselineDescriptor != null ? baseline : source;
sourceDescriptor = baselineDescriptor != null ? baselineDescriptor : sourceDescriptor;
targetDescriptor = baselineDescriptor != null ? baselineDescriptor : targetDescriptor;
IStatus status = null;
if (!destination.contains(targetDescriptor))
- //actual download
+ // actual download
status = downloadArtifact(sourceRepository, targetDescriptor, sourceDescriptor);
else {
String message = NLS.bind(Messages.mirror_alreadyExists, sourceDescriptor, destination);
@@ -194,10 +200,13 @@ public class Mirroring {
}
/**
- * Takes an IArtifactDescriptor descriptor and the ProvisionException that was thrown when destination.getOutputStream(descriptor)
- * and compares descriptor to the duplicate descriptor in the destination.
- *
- * Callers should verify the ProvisionException was thrown due to the artifact existing in the destination before invoking this method.
+ * Takes an IArtifactDescriptor descriptor and the ProvisionException that was
+ * thrown when destination.getOutputStream(descriptor) and compares descriptor
+ * to the duplicate descriptor in the destination.
+ *
+ * Callers should verify the ProvisionException was thrown due to the artifact
+ * existing in the destination before invoking this method.
+ *
* @param descriptor
* @return the status of the compare
*/
@@ -209,12 +218,15 @@ public class Mirroring {
destDescriptor = destDescriptors[i];
}
if (destDescriptor == null)
- return new Status(IStatus.INFO, Activator.ID, ProvisionException.ARTIFACT_EXISTS, Messages.Mirroring_noMatchingDescriptor, null);
+ return new Status(IStatus.INFO, Activator.ID, ProvisionException.ARTIFACT_EXISTS,
+ Messages.Mirroring_noMatchingDescriptor, null);
return compare(source, descriptor, destination, destDescriptor);
}
- private IStatus compare(IArtifactRepository sourceRepository, IArtifactDescriptor sourceDescriptor, IArtifactRepository destRepository, IArtifactDescriptor destDescriptor) {
- IStatus comparison = getComparator().compare(sourceRepository, sourceDescriptor, destRepository, destDescriptor);
+ private IStatus compare(IArtifactRepository sourceRepository, IArtifactDescriptor sourceDescriptor,
+ IArtifactRepository destRepository, IArtifactDescriptor destDescriptor) {
+ IStatus comparison = getComparator().compare(sourceRepository, sourceDescriptor, destRepository,
+ destDescriptor);
if (comparatorLog != null && !comparison.isOK())
comparatorLog.log(sourceDescriptor, comparison);
return comparison;
@@ -223,7 +235,8 @@ public class Mirroring {
/*
* Create, and execute a MirrorRequest for a given descriptor.
*/
- private IStatus downloadArtifact(IArtifactRepository sourceRepo, IArtifactDescriptor destDescriptor, IArtifactDescriptor srcDescriptor) {
+ private IStatus downloadArtifact(IArtifactRepository sourceRepo, IArtifactDescriptor destDescriptor,
+ IArtifactDescriptor srcDescriptor) {
RawMirrorRequest request = new RawMirrorRequest(srcDescriptor, destDescriptor, destination, transport);
request.perform(sourceRepo, new NullProgressMonitor());
@@ -235,7 +248,7 @@ public class Mirroring {
}
/*
- * Get the equivalent descriptor from the baseline repository
+ * Get the equivalent descriptor from the baseline repository
*/
private IArtifactDescriptor getBaselineDescriptor(IArtifactDescriptor descriptor) {
if (baseline == null || !baseline.contains(descriptor))
@@ -250,8 +263,9 @@ public class Mirroring {
return null;
}
- /*
- * Simple validation of a mirror to see if all source descriptors are present in the destination
+ /*
+ * Simple validation of a mirror to see if all source descriptors are present in
+ * the destination
*/
private IStatus validateMirror(boolean verbose) {
MultiStatus status = new MultiStatus(Activator.ID, 0, Messages.Mirroring_ValidationError, null);
@@ -280,7 +294,8 @@ public class Mirroring {
// Missing an artifact
if (verbose)
System.out.println(NLS.bind(Messages.Mirroring_missingDescriptor, srcDescriptors[src]));
- status.add(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.Mirroring_missingDescriptor, srcDescriptors[src++])));
+ status.add(new Status(IStatus.ERROR, Activator.ID,
+ NLS.bind(Messages.Mirroring_missingDescriptor, srcDescriptors[src++])));
} else {
// Its okay if there are extra descriptors in the destination
dest++;
@@ -294,7 +309,8 @@ public class Mirroring {
if (baselineDescriptor != null)
srcProperties = baselineDescriptor.getProperties();
}
- // Baseline not set, or could not find descriptor so we'll use the source descriptor
+ // Baseline not set, or could not find descriptor so we'll use the source
+ // descriptor
if (srcProperties == null)
srcProperties = srcDescriptors[src].getProperties();
@@ -302,8 +318,12 @@ public class Mirroring {
for (String key : srcProperties.keySet()) {
if (!srcProperties.get(key).equals(destMap.get(key))) {
if (verbose)
- System.out.println(NLS.bind(Messages.Mirroring_differentDescriptorProperty, new Object[] {destDescriptors[dest], key, srcProperties.get(key), destMap.get(key)}));
- status.add(new Status(IStatus.WARNING, Activator.ID, NLS.bind(Messages.Mirroring_differentDescriptorProperty, new Object[] {destDescriptors[dest], key, srcProperties.get(key), destMap.get(key)})));
+ System.out.println(NLS.bind(Messages.Mirroring_differentDescriptorProperty,
+ new Object[] { destDescriptors[dest], key, srcProperties.get(key),
+ destMap.get(key) }));
+ status.add(new Status(IStatus.WARNING, Activator.ID,
+ NLS.bind(Messages.Mirroring_differentDescriptorProperty, new Object[] {
+ destDescriptors[dest], key, srcProperties.get(key), destMap.get(key) })));
}
}
src++;
@@ -311,11 +331,13 @@ public class Mirroring {
}
}
- // If there are still source descriptors they're missing from the destination repository
+ // If there are still source descriptors they're missing from the destination
+ // repository
while (src < srcDescriptors.length) {
if (verbose)
System.out.println(NLS.bind(Messages.Mirroring_missingDescriptor, srcDescriptors[src]));
- status.add(new Status(IStatus.ERROR, Activator.ID, NLS.bind(Messages.Mirroring_missingDescriptor, srcDescriptors[src++])));
+ status.add(new Status(IStatus.ERROR, Activator.ID,
+ NLS.bind(Messages.Mirroring_missingDescriptor, srcDescriptors[src++])));
}
}
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RecreateRepositoryApplication.java b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RecreateRepositoryApplication.java
index 59555f69f..0e1bb9335 100644
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RecreateRepositoryApplication.java
+++ b/bundles/org.eclipse.equinox.p2.repository.tools/src/org/eclipse/equinox/p2/internal/repository/tools/RecreateRepositoryApplication.java
@@ -65,10 +65,12 @@ public class RecreateRepositoryApplication extends AbstractApplication {
IArtifactRepositoryManager repositoryManager = getArtifactRepositoryManager();
removeArtifactRepo = !repositoryManager.contains(repoLocation);
- IArtifactRepository repository = repositoryManager.loadRepository(repoLocation, IRepositoryManager.REPOSITORY_HINT_MODIFIABLE, monitor);
+ IArtifactRepository repository = repositoryManager.loadRepository(repoLocation,
+ IRepositoryManager.REPOSITORY_HINT_MODIFIABLE, monitor);
if (repository == null || !repository.isModifiable())
- throw new ProvisionException(NLS.bind(Messages.exception_destinationNotModifiable, repository.getLocation()));
+ throw new ProvisionException(
+ NLS.bind(Messages.exception_destinationNotModifiable, repository.getLocation()));
if (!(repository instanceof IFileArtifactRepository))
throw new ProvisionException(NLS.bind(Messages.exception_notLocalFileRepo, repository.getLocation()));
@@ -99,10 +101,11 @@ public class RecreateRepositoryApplication extends AbstractApplication {
private void recreateRepository(IProgressMonitor monitor) throws ProvisionException {
IArtifactRepositoryManager manager = getArtifactRepositoryManager();
- //add pack200 mappings, the existing repoProperties is not modifiable
+ // add pack200 mappings, the existing repoProperties is not modifiable
Map<String, String> newProperties = new HashMap<>(repoProperties);
newProperties.put(PUBLISH_PACK_FILES_AS_SIBLINGS, "true"); //$NON-NLS-1$
- IArtifactRepository repository = manager.createRepository(repoLocation, repoName, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, newProperties);
+ IArtifactRepository repository = manager.createRepository(repoLocation, repoName,
+ IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, newProperties);
if (!(repository instanceof IFileArtifactRepository))
throw new ProvisionException(NLS.bind(Messages.exception_notLocalFileRepo, repository.getLocation()));
@@ -130,7 +133,8 @@ public class RecreateRepositoryApplication extends AbstractApplication {
// TODO handle errors in some way
LogHelper.log(status);
- Map<String, String> checksumsToProperties = ChecksumUtilities.checksumsToProperties(IArtifactDescriptor.DOWNLOAD_CHECKSUM, checksums);
+ Map<String, String> checksumsToProperties = ChecksumUtilities
+ .checksumsToProperties(IArtifactDescriptor.DOWNLOAD_CHECKSUM, checksums);
newDescriptor.addProperties(checksumsToProperties);
File temp = new File(artifactFile.getParentFile(), artifactFile.getName() + ".pack.gz"); //$NON-NLS-1$
@@ -148,13 +152,15 @@ public class RecreateRepositoryApplication extends AbstractApplication {
}
}
+ @Deprecated(forRemoval = true, since = "2.3.0")
private ArtifactDescriptor createPack200ArtifactDescriptor(IArtifactKey key, File packFile, String installSize) {
if (packFile != null && packFile.exists()) {
ArtifactDescriptor result = new ArtifactDescriptor(key);
result.setProperty(IArtifactDescriptor.ARTIFACT_SIZE, installSize);
result.setProperty(IArtifactDescriptor.DOWNLOAD_SIZE, Long.toString(packFile.length()));
- IProcessingStepDescriptor[] steps = new IProcessingStepDescriptor[] {new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true)}; //$NON-NLS-1$
+ IProcessingStepDescriptor[] steps = new IProcessingStepDescriptor[] {
+ new ProcessingStepDescriptor("org.eclipse.equinox.p2.processing.Pack200Unpacker", null, true) }; //$NON-NLS-1$
result.setProcessingSteps(steps);
result.setProperty(IArtifactDescriptor.FORMAT, IArtifactDescriptor.FORMAT_PACKED);
return result;
diff --git a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/ProcessRepoTask.java b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/ProcessRepoTask.java
index 243e468d2..6a41e1dcc 100644
--- a/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/ProcessRepoTask.java
+++ b/bundles/org.eclipse.equinox.p2.repository.tools/src_ant/org/eclipse/equinox/p2/internal/repository/tools/tasks/ProcessRepoTask.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2009, 2017 IBM Corporation and others.
+ * Copyright (c) 2009, 2021 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -17,8 +17,7 @@ package org.eclipse.equinox.p2.internal.repository.tools.tasks;
import java.io.File;
import java.net.URI;
import java.net.URISyntaxException;
-import org.apache.tools.ant.BuildException;
-import org.apache.tools.ant.Task;
+import org.apache.tools.ant.*;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.URIUtil;
import org.eclipse.equinox.internal.p2.jarprocessor.ant.JarProcessorTask;
@@ -64,6 +63,7 @@ public class ProcessRepoTask extends Task {
private SigningOptions signing = null;
private JarProcessorTask jarProcessor = null;
+ @SuppressWarnings("removal")
@Override
public void execute() throws BuildException {
File file = URIUtil.toFile(repository);
@@ -112,11 +112,15 @@ public class ProcessRepoTask extends Task {
}
}
+ @Deprecated(forRemoval = true, since = "2.3.0")
public void setPack(boolean pack) {
+ log("Support for pack200 is scheduled for removal after June 2023.", Project.MSG_WARN); //$NON-NLS-1$
this.pack = pack;
}
+ @Deprecated(forRemoval = true, since = "2.3.0")
public void setNormalize(boolean normalize) {
+ log("Support for pack200 is scheduled for removal after June 2023.", Project.MSG_WARN); //$NON-NLS-1$
this.repack = normalize;
}
diff --git a/bundles/org.eclipse.equinox.p2.repository/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.repository/META-INF/MANIFEST.MF
index 444ede092..c0de27e45 100644
--- a/bundles/org.eclipse.equinox.p2.repository/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.repository/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.repository;singleton:=true
-Bundle-Version: 2.5.0.qualifier
+Bundle-Version: 2.5.100.qualifier
Bundle-Activator: org.eclipse.equinox.internal.p2.repository.Activator
Bundle-Vendor: %providerName
Bundle-Localization: plugin
diff --git a/bundles/org.eclipse.equinox.p2.repository/pom.xml b/bundles/org.eclipse.equinox.p2.repository/pom.xml
index 1d72fc07f..5dfd75758 100644
--- a/bundles/org.eclipse.equinox.p2.repository/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.repository/pom.xml
@@ -4,11 +4,11 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.repository</artifactId>
- <version>2.5.0-SNAPSHOT</version>
+ <version>2.5.100-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/CacheManager.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/CacheManager.java
index 99b3e9f41..5b5b1cfe6 100644
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/CacheManager.java
+++ b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/CacheManager.java
@@ -27,6 +27,7 @@ import org.eclipse.equinox.internal.provisional.p2.repository.RepositoryEvent;
import org.eclipse.equinox.p2.core.IAgentLocation;
import org.eclipse.equinox.p2.core.ProvisionException;
import org.eclipse.equinox.p2.repository.IRepository;
+import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
import org.eclipse.osgi.util.NLS;
/**
@@ -189,7 +190,7 @@ public class CacheManager {
// bug 269588 - server may return 0 when file exists, so extra flag is needed
boolean useJar = true;
try {
- lastModifiedRemote = transport.getLastModified(jarLocation, submonitor.newChild(1));
+ lastModifiedRemote = getLastModified(jarLocation, submonitor.newChild(1));
if (lastModifiedRemote <= 0)
LogHelper.log(new Status(IStatus.WARNING, Activator.ID, "Server returned lastModified <= 0 for " + jarLocation)); //$NON-NLS-1$
} catch (AuthenticationFailedException e) {
@@ -226,7 +227,7 @@ public class CacheManager {
// (Status is reported based on finding the XML file as giving up on certain errors
// when checking for the jar may not be correct).
try {
- lastModifiedRemote = transport.getLastModified(xmlLocation, submonitor.newChild(1));
+ lastModifiedRemote = getLastModified(xmlLocation, submonitor.newChild(1));
// if lastModifiedRemote is 0 - something is wrong in the communication stack, as
// a FileNotFound exception should have been thrown.
// bug 269588 - server may return 0 when file exists - site is not correctly configured
@@ -267,6 +268,24 @@ public class CacheManager {
}
}
+ private long getLastModified(URI location, IProgressMonitor monitor) throws AuthenticationFailedException, FileNotFoundException, CoreException {
+ CoreException exception = null;
+ long lastModifiedRemote = -1L;
+ do {
+ try {
+ lastModifiedRemote = transport.getLastModified(location, monitor);
+ } catch (CoreException e) {
+ if (e.getStatus() == null) {
+ throw e;
+ }
+ exception = e;
+ }
+ } while (exception != null && exception.getStatus() != null && exception.getStatus().getCode() == IArtifactRepository.CODE_RETRY);
+ if (exception != null)
+ throw exception;
+ return lastModifiedRemote;
+ }
+
/**
* Deletes the local cache file(s) for the given repository
* @param repositoryLocation
@@ -402,6 +421,9 @@ public class CacheManager {
try {
submonitor.setWorkRemaining(1000);
result = transport.download(remoteFile, stream, submonitor.newChild(1000));
+ while (result.getCode() == IArtifactRepository.CODE_RETRY) {
+ result = transport.download(remoteFile, stream, submonitor.newChild(1000));
+ }
} catch (OperationCanceledException e) {
// need to pick up the status - a new operation canceled exception is thrown at the end
// as status will be CANCEL.
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/AbstractRepositoryManager.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/AbstractRepositoryManager.java
index 06a338c2a..81083d924 100644
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/AbstractRepositoryManager.java
+++ b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/internal/p2/repository/helpers/AbstractRepositoryManager.java
@@ -34,6 +34,7 @@ import org.eclipse.equinox.p2.core.spi.IAgentService;
import org.eclipse.equinox.p2.query.*;
import org.eclipse.equinox.p2.repository.IRepository;
import org.eclipse.equinox.p2.repository.IRepositoryManager;
+import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
import org.eclipse.equinox.security.storage.EncodingUtils;
import org.eclipse.osgi.util.NLS;
import org.osgi.service.prefs.BackingStoreException;
@@ -727,6 +728,9 @@ public abstract class AbstractRepositoryManager<T> implements IRepositoryManager
ByteArrayOutputStream index = new ByteArrayOutputStream();
IStatus indexFileStatus = null;
indexFileStatus = getTransport().download(indexFileURI, index, monitor);
+ while (indexFileStatus.getCode() == IArtifactRepository.CODE_RETRY) {
+ indexFileStatus = getTransport().download(indexFileURI, index, monitor);
+ }
if (indexFileStatus != null && indexFileStatus.isOK())
return LocationProperties.create(new ByteArrayInputStream(index.toByteArray()));
return LocationProperties.createEmptyIndexFile();
diff --git a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactDescriptor.java b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactDescriptor.java
index 9b5cd4d9b..2403402ac 100644
--- a/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactDescriptor.java
+++ b/bundles/org.eclipse.equinox.p2.repository/src/org/eclipse/equinox/p2/repository/artifact/IArtifactDescriptor.java
@@ -23,7 +23,7 @@ import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
* descriptor defines the artifact it contains, as well as any processing steps that
* must be performed when the artifact is transferred out of the repository (such
* as decompression, error checking, etc).
- *
+ *
* @noextend This interface is not intended to be extended by clients.
* @noimplement This interface is not intended to be implemented by clients. Instead subclass the {@link ArtifactDescriptor} class
* @since 2.0
@@ -34,37 +34,36 @@ public interface IArtifactDescriptor {
* An artifact descriptor property (value "download.size") indicating the number
* of bytes that will be transferred when this artifact is transferred out of the repository.
*/
- public static final String DOWNLOAD_SIZE = "download.size"; //$NON-NLS-1$
+ String DOWNLOAD_SIZE = "download.size"; //$NON-NLS-1$
/**
* An artifact descriptor property (value "artifact.size") indicating the size in
* bytes of the artifact in its native format (after processing steps have been applied).
*/
- public static final String ARTIFACT_SIZE = "artifact.size"; //$NON-NLS-1$
+ String ARTIFACT_SIZE = "artifact.size"; //$NON-NLS-1$
/**
* A prefix of an artifact descriptor properties storing checksum
* of the artifact bytes that are transferred.
* @since 2.4
*/
- public static final String DOWNLOAD_CHECKSUM = "download.checksum"; //$NON-NLS-1$
+ String DOWNLOAD_CHECKSUM = "download.checksum"; //$NON-NLS-1$
/**
* An artifact descriptor property (value "download.md5") indicating the MD5
* checksum of the artifact bytes that are transferred.
* @see #DOWNLOAD_CHECKSUM
*/
- @Deprecated
- public static final String DOWNLOAD_MD5 = "download.md5"; //$NON-NLS-1$
+ @Deprecated String DOWNLOAD_MD5 = "download.md5"; //$NON-NLS-1$
/**
- * An artifact descriptor property (value "download.contentType") indicating the
+ * An artifact descriptor property (value "download.contentType") indicating the
* content type of the artifact bytes that are transferred.
*/
- public static final String DOWNLOAD_CONTENTTYPE = "download.contentType"; //$NON-NLS-1$
+ String DOWNLOAD_CONTENTTYPE = "download.contentType"; //$NON-NLS-1$
/**
* An content type (value "application/zip") indicating the content is a zip file.
*/
- public static final String TYPE_ZIP = "application/zip"; //$NON-NLS-1$
+ String TYPE_ZIP = "application/zip"; //$NON-NLS-1$
/**
* A prefix of an artifact descriptor property storing list of
@@ -72,7 +71,7 @@ public interface IArtifactDescriptor {
* been applied).
* @since 2.4
*/
- public static final String ARTIFACT_CHECKSUM = "artifact.checksum"; //$NON-NLS-1$
+ String ARTIFACT_CHECKSUM = "artifact.checksum"; //$NON-NLS-1$
/**
* An artifact descriptor property (value "artifact.md5") indicating the MD5
@@ -80,59 +79,61 @@ public interface IArtifactDescriptor {
* been applied).
* @see #ARTIFACT_CHECKSUM
*/
- @Deprecated
- public static final String ARTIFACT_MD5 = "artifact.md5"; //$NON-NLS-1$
+ @Deprecated String ARTIFACT_MD5 = "artifact.md5"; //$NON-NLS-1$
/**
* An artifact descriptor property (value "format") indicating the storage format
* of the artifact in the repository.
* @see #FORMAT_PACKED
*/
- public static final String FORMAT = "format"; //$NON-NLS-1$
+ String FORMAT = "format"; //$NON-NLS-1$
/**
* A property value for the {@link #FORMAT} artifact descriptor property (value "packed")
* indicating the storage format is using pack200 compression.
* @see #FORMAT
+ * @noreference This field is not intended to be referenced by clients.
+ *
+ * @deprecated See <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=572043">bug</a> for details.
*/
- public static final String FORMAT_PACKED = "packed"; //$NON-NLS-1$
+ @Deprecated(forRemoval = true, since = "2.5.0") String FORMAT_PACKED = "packed"; //$NON-NLS-1$
/**
* Return the key for the artifact described by this descriptor.
* @return the key associated with this descriptor
*/
- public abstract IArtifactKey getArtifactKey();
+ IArtifactKey getArtifactKey();
/**
- * Return the value of the given property in this descriptor <code>null</code>
+ * Return the value of the given property in this descriptor <code>null</code>
* is returned if no such property exists
* @param key the property key to look for
* @return the value of the given property or <code>null</code>
*/
- public abstract String getProperty(String key);
+ String getProperty(String key);
/**
* Returns a read-only collection of the properties of the artifact descriptor.
* @return the properties of this artifact descriptor.
*/
- public Map<String, String> getProperties();
+ Map<String, String> getProperties();
- /**
+ /**
* Return the list of processing steps associated with this descriptor.
* An empty set of steps implies that this descriptor describes a complete
* copy of the artifact in its native form. If one or more steps are present,
* they may be performed when the artifact is transferred from the repository
* that contains it.
- *
+ *
* @return the list of processing steps for this descriptor
*/
- public abstract IProcessingStepDescriptor[] getProcessingSteps();
+ IProcessingStepDescriptor[] getProcessingSteps();
/**
* Return the artifact repository that holds the artifact described by this descriptor.
* <code>null</code> is returned if this descriptor is not held in a repository.
- *
+ *
* @return the repository holding this artifact or <code>null</code> if none.
*/
- public abstract IArtifactRepository getRepository();
+ IArtifactRepository getRepository();
}
diff --git a/bundles/org.eclipse.equinox.p2.sar/.classpath b/bundles/org.eclipse.equinox.p2.sar/.classpath
index eca7bdba8..e801ebfb4 100644
--- a/bundles/org.eclipse.equinox.p2.sar/.classpath
+++ b/bundles/org.eclipse.equinox.p2.sar/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
diff --git a/bundles/org.eclipse.equinox.p2.sar/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.sar/.settings/org.eclipse.jdt.core.prefs
index 2ac7183aa..53cfcf706 100644
--- a/bundles/org.eclipse.equinox.p2.sar/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.sar/.settings/org.eclipse.jdt.core.prefs
@@ -18,9 +18,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -37,6 +37,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=error
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -90,6 +91,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -126,10 +128,11 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
@@ -137,20 +140,23 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
@@ -242,11 +248,12 @@ org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
@@ -277,6 +284,8 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -301,13 +310,17 @@ org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
@@ -355,6 +368,8 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do no
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -391,9 +406,12 @@ org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not inser
org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -429,10 +447,14 @@ org.eclipse.jdt.core.formatter.tabulation.char=tab
org.eclipse.jdt.core.formatter.tabulation.size=4
org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
org.eclipse.jdt.core.incompatibleJDKLevel=ignore
org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.sar/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.sar/META-INF/MANIFEST.MF
index 14256c8cb..00469f5fe 100644
--- a/bundles/org.eclipse.equinox.p2.sar/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.sar/META-INF/MANIFEST.MF
@@ -2,9 +2,9 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Sar Plug-in
Bundle-SymbolicName: org.eclipse.equinox.p2.sar;singleton:=true
-Bundle-Version: 0.2.0.qualifier
+Bundle-Version: 0.3.0.qualifier
Import-Package: org.osgi.framework;version="1.3.0"
Bundle-ActivationPolicy: lazy
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Export-Package: org.eclipse.equinox.internal.p2.sar;x-friends:="org.eclipse.equinox.p2.artifact.optimizers,org.eclipse.equinox.p2.artifact.processors"
Automatic-Module-Name: org.eclipse.equinox.p2.sar
diff --git a/bundles/org.eclipse.equinox.p2.sar/pom.xml b/bundles/org.eclipse.equinox.p2.sar/pom.xml
index dc1167742..878b53034 100644
--- a/bundles/org.eclipse.equinox.p2.sar/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.sar/pom.xml
@@ -4,12 +4,12 @@
<parent>
<groupId>org.eclipse.equinox.p2</groupId>
<artifactId>rt.equinox.p2</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../..</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.sar</artifactId>
- <version>0.2.0-SNAPSHOT</version>
+ <version>0.3.0-SNAPSHOT</version>
<packaging>eclipse-plugin</packaging>
</project>
diff --git a/bundles/org.eclipse.equinox.p2.tests.discovery/.classpath b/bundles/org.eclipse.equinox.p2.tests.discovery/.classpath
index c552bdbf4..0632a4d48 100644
--- a/bundles/org.eclipse.equinox.p2.tests.discovery/.classpath
+++ b/bundles/org.eclipse.equinox.p2.tests.discovery/.classpath
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
- <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.8"/>
+ <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-11"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins">
<accessrules>
<accessrule kind="accessible" pattern="**/internal/**"/>
diff --git a/bundles/org.eclipse.equinox.p2.tests.discovery/.settings/org.eclipse.jdt.core.prefs b/bundles/org.eclipse.equinox.p2.tests.discovery/.settings/org.eclipse.jdt.core.prefs
index c28a10615..3d432ca34 100644
--- a/bundles/org.eclipse.equinox.p2.tests.discovery/.settings/org.eclipse.jdt.core.prefs
+++ b/bundles/org.eclipse.equinox.p2.tests.discovery/.settings/org.eclipse.jdt.core.prefs
@@ -18,9 +18,9 @@ org.eclipse.jdt.core.compiler.annotation.nullable.secondary=
org.eclipse.jdt.core.compiler.annotation.nullanalysis=disabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
-org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.8
+org.eclipse.jdt.core.compiler.codegen.targetPlatform=11
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
-org.eclipse.jdt.core.compiler.compliance=1.8
+org.eclipse.jdt.core.compiler.compliance=11
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
@@ -37,6 +37,7 @@ org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=enabled
org.eclipse.jdt.core.compiler.problem.discouragedReference=warning
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
+org.eclipse.jdt.core.compiler.problem.enablePreviewFeatures=disabled
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.explicitlyClosedAutoCloseable=warning
org.eclipse.jdt.core.compiler.problem.fallthroughCase=ignore
@@ -90,6 +91,7 @@ org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments=warn
org.eclipse.jdt.core.compiler.problem.redundantSuperinterface=warning
org.eclipse.jdt.core.compiler.problem.reportMethodCanBePotentiallyStatic=ignore
org.eclipse.jdt.core.compiler.problem.reportMethodCanBeStatic=ignore
+org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors=disabled
@@ -126,10 +128,11 @@ org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=error
org.eclipse.jdt.core.compiler.problem.unusedTypeParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedWarningToken=warning
org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast=warning
-org.eclipse.jdt.core.compiler.release=disabled
-org.eclipse.jdt.core.compiler.source=1.8
+org.eclipse.jdt.core.compiler.release=enabled
+org.eclipse.jdt.core.compiler.source=11
org.eclipse.jdt.core.formatter.align_fields_grouping_blank_lines=2147483647
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
+org.eclipse.jdt.core.formatter.alignment_for_additive_operator=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_enum_constant=16
@@ -137,20 +140,23 @@ org.eclipse.jdt.core.formatter.alignment_for_arguments_in_explicit_constructor_c
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_method_invocation=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_qualified_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_assignment=0
-org.eclipse.jdt.core.formatter.alignment_for_binary_expression=16
+org.eclipse.jdt.core.formatter.alignment_for_bitwise_operator=16
org.eclipse.jdt.core.formatter.alignment_for_compact_if=16
org.eclipse.jdt.core.formatter.alignment_for_conditional_expression=80
org.eclipse.jdt.core.formatter.alignment_for_enum_constants=16
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_array_initializer=16
org.eclipse.jdt.core.formatter.alignment_for_expressions_in_for_loop_header=0
+org.eclipse.jdt.core.formatter.alignment_for_logical_operator=16
org.eclipse.jdt.core.formatter.alignment_for_method_declaration=0
org.eclipse.jdt.core.formatter.alignment_for_module_statements=16
org.eclipse.jdt.core.formatter.alignment_for_multiple_fields=16
+org.eclipse.jdt.core.formatter.alignment_for_multiplicative_operator=16
org.eclipse.jdt.core.formatter.alignment_for_parameterized_type_references=0
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_constructor_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_parameters_in_method_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_resources_in_try=80
org.eclipse.jdt.core.formatter.alignment_for_selector_in_method_invocation=16
+org.eclipse.jdt.core.formatter.alignment_for_string_concatenation=16
org.eclipse.jdt.core.formatter.alignment_for_superclass_in_type_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_enum_declaration=16
org.eclipse.jdt.core.formatter.alignment_for_superinterfaces_in_type_declaration=16
@@ -242,11 +248,12 @@ org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_constant=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_enum_declaration=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_method_body=insert
org.eclipse.jdt.core.formatter.insert_new_line_in_empty_type_declaration=insert
+org.eclipse.jdt.core.formatter.insert_space_after_additive_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_after_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_at_in_annotation_type_declaration=do not insert
-org.eclipse.jdt.core.formatter.insert_space_after_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_angle_bracket_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_closing_brace_in_block=insert
@@ -277,6 +284,8 @@ org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_arguments=insert
org.eclipse.jdt.core.formatter.insert_space_after_comma_in_type_parameters=insert
org.eclipse.jdt.core.formatter.insert_space_after_ellipsis=insert
org.eclipse.jdt.core.formatter.insert_space_after_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_after_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_multiplicative_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_opening_angle_bracket_in_type_parameters=do not insert
@@ -301,13 +310,17 @@ org.eclipse.jdt.core.formatter.insert_space_after_postfix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_after_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_after_relational_operator=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_for=insert
org.eclipse.jdt.core.formatter.insert_space_after_semicolon_in_try_resources=insert
+org.eclipse.jdt.core.formatter.insert_space_after_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_after_string_concatenation=insert
org.eclipse.jdt.core.formatter.insert_space_after_unary_operator=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_additive_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_and_in_type_parameter=insert
org.eclipse.jdt.core.formatter.insert_space_before_assignment_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_at_in_annotation_type_declaration=insert
-org.eclipse.jdt.core.formatter.insert_space_before_binary_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_bitwise_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_closing_angle_bracket_in_type_parameters=do not insert
@@ -355,6 +368,8 @@ org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_arguments=do no
org.eclipse.jdt.core.formatter.insert_space_before_comma_in_type_parameters=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_ellipsis=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_lambda_arrow=insert
+org.eclipse.jdt.core.formatter.insert_space_before_logical_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_multiplicative_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_parameterized_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_arguments=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_opening_angle_bracket_in_type_parameters=do not insert
@@ -391,9 +406,12 @@ org.eclipse.jdt.core.formatter.insert_space_before_postfix_operator=do not inser
org.eclipse.jdt.core.formatter.insert_space_before_prefix_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_conditional=insert
org.eclipse.jdt.core.formatter.insert_space_before_question_in_wildcard=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_relational_operator=insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_for=do not insert
org.eclipse.jdt.core.formatter.insert_space_before_semicolon_in_try_resources=do not insert
+org.eclipse.jdt.core.formatter.insert_space_before_shift_operator=insert
+org.eclipse.jdt.core.formatter.insert_space_before_string_concatenation=insert
org.eclipse.jdt.core.formatter.insert_space_before_unary_operator=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_brackets_in_array_type_reference=do not insert
org.eclipse.jdt.core.formatter.insert_space_between_empty_braces_in_array_initializer=do not insert
@@ -429,10 +447,14 @@ org.eclipse.jdt.core.formatter.tabulation.char=tab
org.eclipse.jdt.core.formatter.tabulation.size=4
org.eclipse.jdt.core.formatter.use_on_off_tags=false
org.eclipse.jdt.core.formatter.use_tabs_only_for_leading_indentations=false
+org.eclipse.jdt.core.formatter.wrap_before_additive_operator=true
org.eclipse.jdt.core.formatter.wrap_before_assignment_operator=false
-org.eclipse.jdt.core.formatter.wrap_before_binary_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_bitwise_operator=true
org.eclipse.jdt.core.formatter.wrap_before_conditional_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_logical_operator=true
+org.eclipse.jdt.core.formatter.wrap_before_multiplicative_operator=true
org.eclipse.jdt.core.formatter.wrap_before_or_operator_multicatch=true
+org.eclipse.jdt.core.formatter.wrap_before_string_concatenation=true
org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested=true
org.eclipse.jdt.core.incompatibleJDKLevel=ignore
org.eclipse.jdt.core.incompleteClasspath=error
diff --git a/bundles/org.eclipse.equinox.p2.tests.discovery/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests.discovery/META-INF/MANIFEST.MF
index 154242c9a..f2974145e 100644
--- a/bundles/org.eclipse.equinox.p2.tests.discovery/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.tests.discovery/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %Bundle-Name
Bundle-SymbolicName: org.eclipse.equinox.p2.tests.discovery;singleton:=true
-Bundle-Version: 1.2.0.qualifier
+Bundle-Version: 1.3.0.qualifier
Bundle-Vendor: %Bundle-Provider
Bundle-Localization: plugin
Export-Package: org.eclipse.equinox.p2.discovery.tests;x-internal:=true,
@@ -15,6 +15,6 @@ Require-Bundle: org.eclipse.equinox.p2.discovery;bundle-version="1.0.0",
org.junit;bundle-version="3.8.0",
org.eclipse.core.runtime;bundle-version="3.1.0",
org.eclipse.ui;bundle-version="3.1.0"
-Bundle-RequiredExecutionEnvironment: JavaSE-1.8
+Bundle-RequiredExecutionEnvironment: JavaSE-11
Eclipse-BundleShape: dir
Automatic-Module-Name: org.eclipse.equinox.p2.tests.discovery
diff --git a/bundles/org.eclipse.equinox.p2.tests.discovery/pom.xml b/bundles/org.eclipse.equinox.p2.tests.discovery/pom.xml
index b926bbf97..69cf33469 100644
--- a/bundles/org.eclipse.equinox.p2.tests.discovery/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.tests.discovery/pom.xml
@@ -4,12 +4,12 @@
<parent>
<artifactId>org.eclipse.equinox.p2.tests-parent</artifactId>
<groupId>org.eclipse</groupId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../../org.eclipse.equinox.p2.releng/org.eclipse.equinox.p2.tests-parent</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.tests.discovery</artifactId>
- <version>1.2.0-SNAPSHOT</version>
+ <version>1.3.0-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<properties>
diff --git a/bundles/org.eclipse.equinox.p2.tests.optimizers/pom.xml b/bundles/org.eclipse.equinox.p2.tests.optimizers/pom.xml
index ca8e0c26a..151db8536 100644
--- a/bundles/org.eclipse.equinox.p2.tests.optimizers/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.tests.optimizers/pom.xml
@@ -4,7 +4,7 @@
<parent>
<artifactId>org.eclipse.equinox.p2.tests-parent</artifactId>
<groupId>org.eclipse</groupId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../../org.eclipse.equinox.p2.releng/org.eclipse.equinox.p2.tests-parent</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
diff --git a/bundles/org.eclipse.equinox.p2.tests.reconciler.product/pom.xml b/bundles/org.eclipse.equinox.p2.tests.reconciler.product/pom.xml
index 8671f35bc..6600df148 100644
--- a/bundles/org.eclipse.equinox.p2.tests.reconciler.product/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.tests.reconciler.product/pom.xml
@@ -11,7 +11,7 @@
<parent>
<groupId>org.eclipse</groupId>
<artifactId>org.eclipse.equinox.p2.tests-parent</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../../org.eclipse.equinox.p2.releng/org.eclipse.equinox.p2.tests-parent</relativePath>
</parent>
diff --git a/bundles/org.eclipse.equinox.p2.tests.reconciler.product/reconciler.product b/bundles/org.eclipse.equinox.p2.tests.reconciler.product/reconciler.product
index 02388ffa0..6cd3000e1 100644
--- a/bundles/org.eclipse.equinox.p2.tests.reconciler.product/reconciler.product
+++ b/bundles/org.eclipse.equinox.p2.tests.reconciler.product/reconciler.product
@@ -133,7 +133,6 @@
<plugin id="org.eclipse.osgi.services"/>
<plugin id="org.eclipse.osgi.util"/>
<plugin id="org.eclipse.swt"/>
- <plugin id="org.eclipse.swt.browser.chromium.gtk.linux.x86_64" fragment="true"/>
<plugin id="org.eclipse.swt.cocoa.macosx.x86_64" fragment="true"/>
<plugin id="org.eclipse.swt.gtk.linux.x86_64" fragment="true"/>
<plugin id="org.eclipse.swt.win32.win32.x86_64" fragment="true"/>
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/All p2 UI tests.launch b/bundles/org.eclipse.equinox.p2.tests.ui/All p2 UI tests.launch
index 8c97b40d7..d1009331c 100644
--- a/bundles/org.eclipse.equinox.p2.tests.ui/All p2 UI tests.launch
+++ b/bundles/org.eclipse.equinox.p2.tests.ui/All p2 UI tests.launch
@@ -78,7 +78,6 @@
<setEntry value="javax.el@default:default"/>
<setEntry value="javax.inject@default:default"/>
<setEntry value="javax.servlet.jsp@default:default"/>
- <setEntry value="javax.servlet@default:default"/>
<setEntry value="javax.xml@default:default"/>
<setEntry value="net.i2p.crypto.eddsa@default:default"/>
<setEntry value="org.apache.ant@default:default"/>
@@ -100,7 +99,6 @@
<setEntry value="org.apache.httpcomponents.httpclient@default:default"/>
<setEntry value="org.apache.httpcomponents.httpcore@default:default"/>
<setEntry value="org.apache.jasper.glassfish@default:default"/>
- <setEntry value="org.apache.log4j@default:default"/>
<setEntry value="org.apache.lucene.analyzers-common*8.4.1.v20200122-1459@default:default"/>
<setEntry value="org.apache.lucene.analyzers-smartcn@default:default"/>
<setEntry value="org.apache.lucene.core*8.4.1.v20200122-1459@default:default"/>
@@ -108,7 +106,6 @@
<setEntry value="org.apache.sshd.sftp@default:default"/>
<setEntry value="org.apache.xerces@default:default"/>
<setEntry value="org.apache.xml.resolver@default:default"/>
- <setEntry value="org.apache.xml.serializer@default:default"/>
<setEntry value="org.apache.xmlgraphics@default:default"/>
<setEntry value="org.apiguardian@default:default"/>
<setEntry value="org.bouncycastle.bcpg@default:default"/>
@@ -249,7 +246,6 @@
<setEntry value="org.eclipse.jdt.launching@default:default"/>
<setEntry value="org.eclipse.jdt.ui@default:default"/>
<setEntry value="org.eclipse.jdt@default:default"/>
- <setEntry value="org.eclipse.jem.util@default:default"/>
<setEntry value="org.eclipse.jetty.http@default:default"/>
<setEntry value="org.eclipse.jetty.io@default:default"/>
<setEntry value="org.eclipse.jetty.security@default:default"/>
@@ -305,7 +301,6 @@
<setEntry value="org.eclipse.rcp@default:default"/>
<setEntry value="org.eclipse.sdk@default:default"/>
<setEntry value="org.eclipse.search@default:default"/>
- <setEntry value="org.eclipse.swt.browser.chromium.gtk.linux.x86_64@default:false"/>
<setEntry value="org.eclipse.swt.gtk.linux.x86_64@default:false"/>
<setEntry value="org.eclipse.swt@default:default"/>
<setEntry value="org.eclipse.team.core@default:default"/>
@@ -338,7 +333,6 @@
<setEntry value="org.eclipse.urischeme@default:default"/>
<setEntry value="org.eclipse.wst.common.core@default:default"/>
<setEntry value="org.eclipse.wst.common.emf@default:default"/>
- <setEntry value="org.eclipse.wst.common.emfworkbench.integration@default:default"/>
<setEntry value="org.eclipse.wst.common.environment@default:default"/>
<setEntry value="org.eclipse.wst.common.frameworks.ui@default:default"/>
<setEntry value="org.eclipse.wst.common.frameworks@default:default"/>
@@ -359,8 +353,6 @@
<setEntry value="org.junit.platform.engine@default:default"/>
<setEntry value="org.junit.platform.launcher@default:default"/>
<setEntry value="org.junit@default:default"/>
- <setEntry value="org.objectweb.asm*9.0.0.v20201001-1419@default:default"/>
- <setEntry value="org.objectweb.asm.tree*9.0.0.v20201001-1419@default:default"/>
<setEntry value="org.opentest4j@default:default"/>
<setEntry value="org.sat4j.core@default:default"/>
<setEntry value="org.sat4j.pb@default:default"/>
@@ -375,6 +367,7 @@
<setEntry value="org.eclipse.equinox.frameworkadmin.equinox@default:default"/>
<setEntry value="org.eclipse.equinox.frameworkadmin.test@default:default"/>
<setEntry value="org.eclipse.equinox.frameworkadmin@default:default"/>
+ <setEntry value="org.eclipse.equinox.p2.artifact.checksums.bouncycastle@default:default"/>
<setEntry value="org.eclipse.equinox.p2.artifact.optimizers@default:default"/>
<setEntry value="org.eclipse.equinox.p2.artifact.processors@default:default"/>
<setEntry value="org.eclipse.equinox.p2.artifact.repository@default:default"/>
@@ -382,6 +375,7 @@
<setEntry value="org.eclipse.equinox.p2.core@default:default"/>
<setEntry value="org.eclipse.equinox.p2.director.app@default:default"/>
<setEntry value="org.eclipse.equinox.p2.director@default:default"/>
+ <setEntry value="org.eclipse.equinox.p2.directorywatcher@default:default"/>
<setEntry value="org.eclipse.equinox.p2.discovery.compatibility@default:default"/>
<setEntry value="org.eclipse.equinox.p2.discovery@default:default"/>
<setEntry value="org.eclipse.equinox.p2.engine@default:default"/>
@@ -391,6 +385,8 @@
<setEntry value="org.eclipse.equinox.p2.examples.rcp.sdkbundlevisibility@default:default"/>
<setEntry value="org.eclipse.equinox.p2.examples.rcp.sdknoautoupdates@default:default"/>
<setEntry value="org.eclipse.equinox.p2.examples.rcp.sdkui@default:default"/>
+ <setEntry value="org.eclipse.equinox.p2.extensionlocation@default:default"/>
+ <setEntry value="org.eclipse.equinox.p2.garbagecollector@default:default"/>
<setEntry value="org.eclipse.equinox.p2.installer@default:default"/>
<setEntry value="org.eclipse.equinox.p2.jarprocessor@default:default"/>
<setEntry value="org.eclipse.equinox.p2.metadata.repository@default:default"/>
@@ -402,10 +398,12 @@
<setEntry value="org.eclipse.equinox.p2.repository.tools@default:default"/>
<setEntry value="org.eclipse.equinox.p2.repository@default:default"/>
<setEntry value="org.eclipse.equinox.p2.sar@default:default"/>
+ <setEntry value="org.eclipse.equinox.p2.tests.discovery@default:default"/>
<setEntry value="org.eclipse.equinox.p2.tests.optimizers@default:default"/>
<setEntry value="org.eclipse.equinox.p2.tests.ui@default:default"/>
<setEntry value="org.eclipse.equinox.p2.tests.verifier@default:default"/>
<setEntry value="org.eclipse.equinox.p2.tests@default:default"/>
+ <setEntry value="org.eclipse.equinox.p2.testserver@default:default"/>
<setEntry value="org.eclipse.equinox.p2.touchpoint.eclipse@default:default"/>
<setEntry value="org.eclipse.equinox.p2.touchpoint.natives@default:default"/>
<setEntry value="org.eclipse.equinox.p2.transport.ecf@default:default"/>
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests.ui/META-INF/MANIFEST.MF
index 3edf505f8..7ddadb4b8 100644
--- a/bundles/org.eclipse.equinox.p2.tests.ui/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.tests.ui/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.tests.ui
-Bundle-Version: 1.3.100.qualifier
+Bundle-Version: 1.3.200.qualifier
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Require-Bundle: org.eclipse.core.runtime;bundle-version="3.4.100",
diff --git a/bundles/org.eclipse.equinox.p2.tests.ui/pom.xml b/bundles/org.eclipse.equinox.p2.tests.ui/pom.xml
index 795795864..0e43153cf 100644
--- a/bundles/org.eclipse.equinox.p2.tests.ui/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.tests.ui/pom.xml
@@ -15,13 +15,13 @@
<parent>
<artifactId>org.eclipse.equinox.p2.tests-parent</artifactId>
<groupId>org.eclipse</groupId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../../org.eclipse.equinox.p2.releng/org.eclipse.equinox.p2.tests-parent</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.tests.ui</artifactId>
- <version>1.3.100-SNAPSHOT</version>
+ <version>1.3.200-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<properties>
diff --git a/bundles/org.eclipse.equinox.p2.tests.verifier/pom.xml b/bundles/org.eclipse.equinox.p2.tests.verifier/pom.xml
index 0100260fc..e58db25e2 100644
--- a/bundles/org.eclipse.equinox.p2.tests.verifier/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.tests.verifier/pom.xml
@@ -4,7 +4,7 @@
<parent>
<artifactId>org.eclipse.equinox.p2.tests-parent</artifactId>
<groupId>org.eclipse</groupId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../../org.eclipse.equinox.p2.releng/org.eclipse.equinox.p2.tests-parent</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
diff --git a/bundles/org.eclipse.equinox.p2.tests/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/META-INF/MANIFEST.MF
index bd3e42b8f..9d02fddf8 100644
--- a/bundles/org.eclipse.equinox.p2.tests/META-INF/MANIFEST.MF
+++ b/bundles/org.eclipse.equinox.p2.tests/META-INF/MANIFEST.MF
@@ -2,7 +2,7 @@ Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %pluginName
Bundle-SymbolicName: org.eclipse.equinox.p2.tests;singleton:=true
-Bundle-Version: 1.8.100.qualifier
+Bundle-Version: 1.8.200.qualifier
Bundle-ClassPath: .
Bundle-Activator: org.eclipse.equinox.p2.tests.TestActivator
Bundle-Vendor: %providerName
diff --git a/bundles/org.eclipse.equinox.p2.tests/pom.xml b/bundles/org.eclipse.equinox.p2.tests/pom.xml
index b3285d0b3..32edc4750 100644
--- a/bundles/org.eclipse.equinox.p2.tests/pom.xml
+++ b/bundles/org.eclipse.equinox.p2.tests/pom.xml
@@ -10,13 +10,13 @@
<parent>
<groupId>org.eclipse</groupId>
<artifactId>org.eclipse.equinox.p2.tests-parent</artifactId>
- <version>4.19.0-SNAPSHOT</version>
+ <version>4.20.0-SNAPSHOT</version>
<relativePath>../../org.eclipse.equinox.p2.releng/org.eclipse.equinox.p2.tests-parent</relativePath>
</parent>
<groupId>org.eclipse.equinox</groupId>
<artifactId>org.eclipse.equinox.p2.tests</artifactId>
- <version>1.8.100-SNAPSHOT</version>
+ <version>1.8.200-SNAPSHOT</version>
<packaging>eclipse-test-plugin</packaging>
<properties>
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/Repo2RunnableTaskTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/Repo2RunnableTaskTests.java
index 75d7732c1..3ab304109 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/Repo2RunnableTaskTests.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/ant/Repo2RunnableTaskTests.java
@@ -14,7 +14,10 @@
*******************************************************************************/
package org.eclipse.equinox.p2.tests.ant;
-import java.io.*;
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileReader;
+import java.io.IOException;
import java.net.URI;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.equinox.p2.core.ProvisionException;
@@ -22,7 +25,9 @@ import org.eclipse.equinox.p2.metadata.IArtifactKey;
import org.eclipse.equinox.p2.metadata.IInstallableUnit;
import org.eclipse.equinox.p2.query.IQueryResult;
import org.eclipse.equinox.p2.query.QueryUtil;
-import org.eclipse.equinox.p2.repository.artifact.*;
+import org.eclipse.equinox.p2.repository.artifact.ArtifactKeyQuery;
+import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
+import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
import org.eclipse.equinox.p2.repository.metadata.IMetadataRepository;
import org.eclipse.equinox.p2.tests.AbstractAntProvisioningTest;
@@ -130,6 +135,7 @@ public class Repo2RunnableTaskTests extends AbstractAntProvisioningTest {
/*
* Ensure that the output repository is of the expected type
*/
+ @SuppressWarnings("removal")
protected boolean expectedFormat(URI location) {
IArtifactRepository repo = null;
try {
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/AllTests.java
index d797c0186..01422270a 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/AllTests.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/AllTests.java
@@ -19,9 +19,10 @@ import org.junit.runners.Suite;
/**
* Performs all automated director tests.
*/
+@SuppressWarnings("removal")
@RunWith(Suite.class)
@Suite.SuiteClasses({ Pack200ProcessorTest.class, ZipVerifierProcessorTest.class, ChecksumVerifierTest.class,
- ChecksumUtilitiesTest.class })
+ ChecksumUtilitiesTest.class, PGPSignatureVerifierTest.class })
public class AllTests {
// test suite
}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/PGPSignatureVerifierTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/PGPSignatureVerifierTest.java
new file mode 100644
index 000000000..36b50a545
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/PGPSignatureVerifierTest.java
@@ -0,0 +1,111 @@
+/*******************************************************************************
+ * Copyright (c) 2021 Red Hat Inc. and others
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *******************************************************************************/
+package org.eclipse.equinox.p2.tests.artifact.processors;
+
+import static org.junit.Assert.assertEquals;
+import static org.junit.Assert.assertTrue;
+
+import java.io.File;
+import java.io.IOException;
+import java.io.InputStream;
+import java.net.URISyntaxException;
+import java.nio.file.Files;
+import org.eclipse.core.runtime.FileLocator;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.equinox.internal.p2.artifact.processors.pgp.Messages;
+import org.eclipse.equinox.internal.p2.artifact.processors.pgp.PGPSignatureVerifier;
+import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
+import org.eclipse.equinox.p2.metadata.Version;
+import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
+import org.eclipse.equinox.p2.repository.artifact.IProcessingStepDescriptor;
+import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
+import org.eclipse.equinox.p2.repository.artifact.spi.ProcessingStepDescriptor;
+import org.junit.Assert;
+import org.junit.Test;
+
+public class PGPSignatureVerifierTest {
+
+ // @formatter:off
+ /*
+ * About test keys:
+ * * Install the public&private keys locally
+ * * then generate signatures with eg `gpg -u signer2@fakeuser.eclipse.org -a --output signed_by_signer_2 --detach-sig testArtifact`
+ */
+ // @formatter:on
+
+ private IArtifactDescriptor createArtifact(String signaturesResourcePath, String publicKeyResourcePath)
+ throws IOException, URISyntaxException {
+ ArtifactDescriptor res = new ArtifactDescriptor(
+ new ArtifactKey("whatever", "whatever", Version.parseVersion("1.0.0")));
+ res.setProperty(PGPSignatureVerifier.PGP_SIGNATURES_PROPERTY_NAME, read(signaturesResourcePath));
+ res.setProperty(PGPSignatureVerifier.PGP_SIGNER_KEYS_PROPERTY_NAME, read(publicKeyResourcePath));
+ return res;
+ }
+
+ private String read(String resource) throws IOException, URISyntaxException {
+ return Files.readString(new File(FileLocator.toFileURL(getClass().getResource(resource)).toURI()).toPath());
+ }
+
+ @Test
+ public void testOK() throws Exception {
+ IProcessingStepDescriptor processingStepDescriptor = new ProcessingStepDescriptor(null, null, false);
+ IArtifactDescriptor artifact = createArtifact("signed_by_signer_1", "public_signer1.pgp");
+ PGPSignatureVerifier verifier = new PGPSignatureVerifier();
+ verifier.initialize(null, processingStepDescriptor, artifact);
+ Assert.assertTrue(verifier.getStatus().toString(), verifier.getStatus().isOK());
+ try (InputStream bytes = getClass().getResourceAsStream("testArtifact")) {
+ bytes.transferTo(verifier);
+ }
+ Assert.assertTrue(verifier.getStatus().isOK());
+ verifier.close();
+ Assert.assertTrue(verifier.getStatus().isOK());
+ }
+
+ @Test
+ public void testNoPublicKeyFound() throws Exception {
+ IProcessingStepDescriptor processingStepDescriptor = new ProcessingStepDescriptor(null, null, false);
+ IArtifactDescriptor artifact = createArtifact("signed_by_signer_1", "public_signer2.pgp");
+ try (PGPSignatureVerifier verifier = new PGPSignatureVerifier()) {
+ verifier.initialize(null, processingStepDescriptor, artifact);
+ IStatus status = verifier.getStatus();
+ assertEquals(IStatus.ERROR, status.getSeverity());
+ assertTrue(status.getMessage().contains("Public key not found for"));
+ }
+ }
+
+ @Test
+ public void testTamperedSignature() throws Exception {
+ IProcessingStepDescriptor processingStepDescriptor = new ProcessingStepDescriptor(null, null, false);
+ IArtifactDescriptor artifact = createArtifact("signed_by_signer_1_tampered", "public_signer1.pgp");
+ try (PGPSignatureVerifier verifier = new PGPSignatureVerifier()) {
+ verifier.initialize(null, processingStepDescriptor, artifact);
+ // signature has random modification, making it invalid by itself
+ Assert.assertFalse(verifier.getStatus().isOK());
+ }
+ }
+
+ @Test
+ public void testSignatureForAnotherArtifact() throws Exception {
+ IProcessingStepDescriptor processingStepDescriptor = new ProcessingStepDescriptor(null, null, false);
+ IArtifactDescriptor artifact = createArtifact("signed_by_signer_1_otherArtifact", "public_signer1.pgp");
+ PGPSignatureVerifier verifier = new PGPSignatureVerifier();
+ verifier.initialize(null, processingStepDescriptor, artifact);
+ Assert.assertTrue(verifier.getStatus().isOK());
+ try (InputStream bytes = getClass().getResourceAsStream("testArtifact")) {
+ bytes.transferTo(verifier);
+ }
+ Assert.assertTrue(verifier.getStatus().isOK());
+ verifier.close();
+ IStatus status = verifier.getStatus();
+ assertEquals(IStatus.ERROR, status.getSeverity());
+ assertTrue(status.getMessage().contains(Messages.Error_SignatureAndFileDontMatch));
+ }
+}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/Pack200ProcessorTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/Pack200ProcessorTest.java
index d6a7a1010..a1447d16a 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/Pack200ProcessorTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/Pack200ProcessorTest.java
@@ -13,7 +13,14 @@
*******************************************************************************/
package org.eclipse.equinox.p2.tests.artifact.processors;
-import java.io.*;
+import java.io.BufferedOutputStream;
+import java.io.ByteArrayInputStream;
+import java.io.ByteArrayOutputStream;
+import java.io.File;
+import java.io.FileOutputStream;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.util.Arrays;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.equinox.internal.p2.artifact.processors.pack200.Pack200ProcessorStep;
@@ -24,6 +31,7 @@ import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
import org.eclipse.equinox.p2.tests.TestActivator;
import org.osgi.framework.Bundle;
+@Deprecated(forRemoval = true)
public class Pack200ProcessorTest extends AbstractProvisioningTest {
public Pack200ProcessorTest(String name) {
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/private_signer1.pgp b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/private_signer1.pgp
new file mode 100644
index 000000000..33d2c2f5f
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/private_signer1.pgp
@@ -0,0 +1,84 @@
+-----BEGIN PGP PRIVATE KEY BLOCK-----
+
+lQWFBGB1bugBDADQ5l7YnS9hNFRkBKSrvVNHt/TxeHaNNIHkdTC56I1QdThsOt4Y
+oQRI27AEOaY1GFEi6+QqwxALcMMMSTgkCRs2NFGqlWMVzNYE7bJMWChVa7uQ/9CG
+1HRbXwVwQx3hFgU4kmw1Kl/IH4LX76d9gAMyFANPjYZJSjbAv54wOlKruDRgpQFF
+pZeuXW7SnerL6sgd/+ZroikdkrjIs5t18C2ofzf6YnOokYkEEJSAEoQK5svVzT4G
+H3sw6FlE41RvnYKpuhvvyQhKjISDYfRaIL4JIpvR9Uko48eN9x654lJaucbMiLP4
+ROI9q7RQ6t1IMCiIN9QKgS+nVtHnN9MnXS0czGxfLdStv6bB+xgUoyBc7Uiqf4X0
+x8z9PE6O1L6Rgy2JMJHPgLWCF8h/u1FO88Br3I7TMzu2q/cg3k18L7eujnxVyYiD
+YIMxDBXBNnGCKRC4shgt8e+PzAPXIDFvbv7HOaERnx5c6eLl0tD12ocQeZHp1VlW
+nQteQ6CfvN07dNUAEQEAAf4HAwIrnfDjnCh1APMEp1xfdT91mv9aZw2xx3DU6gYT
+0lkgeZKe8HVLCuulx+MJ1Rl48ub2OnShpE7eMAI3M7N+7uaAFtNlTSR+ADW44eVF
+OzmH/CLjMsYD2pNSGdkvqdNzLHi52350TVnuKIciQs0QPAiMDMBrNEckUM3YDbmp
+wJlqywaUmjUUKdfvSjBrWTGfLtliRbsPh4BY7ule6R2DVwFDluCAWg9K2VkCL3QB
+6f+rdwvi5OzklxJuwd7cuerqNetlZnNHhdU/ZenGdjNuKMUCSEOXpbOWEABUV/dc
+9MyIhJdnvV8KovRMpo7RurBe8mv1cFjraA9oe+gM/7Iu+y6ZYlzQdLOJV/uc475k
+bHN/lF9jLsTC//gvW8oxdw1a4MIjG7w32L2J6ofeG1g3s8Hw4F84V/igS7WaQShF
+VxA3vu8Enggosdfx6lnOgFiR9qVNWcjLtIB2tgxrFDKJY2rFufRZ7VE1NED1AgCa
+weg8J8iYbqB14AMS2kiQhzYJ6AQukRidu7QnDhWeuOKcZ3klZvPna8e1ZAEar7os
+kjZVjbBpiwOgh2ZXhHvnl7po8XPfdbTZm48DFazDPxVUn+9PxS8/g6bDbrjAo2kk
+Wd1HKcOVTSbpO3l3cc0rC7wbZW+NxWrHTuZ8iMrIwtzI3+SZX5W9Fls8vmGpuA/W
+ZsGVMr3saXWKeVz8DpUzjPgsVscdQHgt6B6wpEhj8mWccL0BfviqmZnWCVcy2qTv
+9PXnCU4TNa7Y2cYtfXbmlOslT9ptBQ0fz+6/OuqB0NRWJl1AQNTBsM7GX8DF3mDb
+L+kv+IdIpmk0AN3iFcMo1K7nGoNyMDPuIXaPGYW9o7cfQsDuPO0rPUN8swAG8It3
+gLE1IFuQXyzJJ3pvTqf/NV9Wkh5YrCa8HvrzzR5WNnCBoUruNzWLfkFCZGOpiOGV
+//DnXvH2UPZA3hdSumz1yMnqXs1Zx/rMkblqufzxZR9EKwis4IrSULoaswir4IXc
+o4qi74OnaMWY+N7/CDAn07HAuB4HgK9UrnRTOYAM7pvOGRMzzbFMenE95hfotaEp
+mOjbqMiSGvXMHz1o2blZjHiq63pREP88XGBBfP3pSpVmjA+9Jrt+luVs9FkkTLqt
+N6snvrtc83Y92otxNpz8psU3CRu0avUKBF1eM5dPcg5RgGSV9ghCxXFsuOclrJ/q
+RI7O5uiEJF3VutvCM2Cz388IGuqejw15xSemXAmAAAPMmxL3t1gAPqLlyI6JW7UT
+WKYkiyKFRgLFt6Q+Xal92A/g+waJnxOrcM+va5i0xInTB+DnR3RD6egID42jP7V1
+e/6gZgmFKYWH1XDm9JsZSbW+5lDupuKutDdFY2xpcHNlIHAyIHRlc3QgU2lnbmVy
+IDEgPHNpZ25lcjFAZmFrZXVzZXIuZWNsaXBzZS5vcmc+iQHUBBMBCAA+FiEE6ZbG
+cKp/ZUCb9dtWE5442Q3tEfAFAmB1bugCGwMFCQPCZwAFCwkIBwIGFQoJCAsCBBYC
+AwECHgECF4AACgkQE5442Q3tEfC5dgv9GLaAehcQs3v11ae4LmGOHteAqq6qVmDe
+ouCQvID/nj8RHHscssweNTm1UhVpxn1RZvfQHPHqJXHaEy0v/QUUnVLSLDBMNd+3
+/0Sg++yaYTFVgSJLHkfGw9cz5eh8y+Lvmc3fiIxQhTdKAovMeqVZwLdPteMNYoLx
+ORNy60gBojMExGyyS0lHc5jNZtvDODPzexWmh9YZ/Ehb3UfX1mvyuMheI3LLW6VG
+d+xrP7Fd5d8rFlmzTQW0gg55YGEK2xvz/xS/cVEMrr6VffECp8wbrtrMlekVp9Yk
+aLKbKl9LCLokDzrpY7PD0N9upYiVj8QwiHJmuxacaIaGEBq/A6JJZhXrmigViigo
+c2Yh6Sm9FlLCUa7C+dmv7bjvW6uQKgbxjPYTLbxCNzQ2BeVcCSoVSQ7aA08WxeST
+UQL6/M7aWWmpE5L2m3bl0QFxRKB9yMU4Va/Znkh2YaMUR7joIk0RXM2CQ/73vAk/
+vClw4JIX+ed44GPhvtDSy4n4ywT8XHpJnQWFBGB1bugBDACy3hAYd33D5XdQeBEx
+hkhJ9gClwAraoFPVm9/TVATfwlS0M8olqsOWDFxpe5fqM5xsXrQ4x3n12E2alpli
+mhwlkyCcRKPT9Ofhxl9bC06jU+ibwtuDXMYohgBpHaZNvyaQLAnCxkJRkKaH7Oyl
+pzF1VF2ZaYJdwXEVz/qAErFw8Vl/3cllojfeqwunHIDnsAlXlyT9NjWIWYDocXF6
+FqawBV13nqC7I5F6QkmVkdcT2kgJUQapVR91tJBcSJLfzqRkN+1d7fqmF2PWC0Wx
+EsegEjz4vuja+t2ePVRmC2/EFskn5AB+EXz5/zhEUiL0JNjxyF5f5h8MwR2D0n0s
+bnhfk/c7Vld4S+50qT+GpYF/7aut2SF0XLIZErTJOs749D61keFwc+p+jgSJWS0L
+gFOkHpC0sFg0AZgxF12ZkyCniUTbEaJvxJjCidy3fLV+YH7HruWrrkgVUz8gDA3o
+G4xe2Bv5mSaJP54qBzWkri4KxkltACU/OQMZBXr0Y3KOWmEAEQEAAf4HAwLLvoWv
+eKC2/fMh+cA0nyp8Q5POdY1Y57YJSp7HcrUJVGFPMwY25rI9K/hg5LIKuXMlTiMw
+Jep9pAxERxhvohjPoKqb8zTT85PGFgSl6Mml+0h44CAGLT1bNuuB8/qqrOzWO3l+
+NvHYmaGTYtWKtETRvTZkepTyoKFZY7u0KO3xKusJS+MfuMKFvBlyibR8YLRQED2F
+KzNO8rPDLoFt8g6bfEnTgQbn/VqWBliFZ+W9oQAGXaoWC80LR7SBim4/XgsT5G/O
+PCZBsOIhHCEV0U6pO2kjDxjh+74CNOLnNTs54M2psYCKthMruQ7umGe1dMO+mQYU
+vu0xApMYoXAfCSWLq41b48IxLxGF53PhpjgAafM4TFYHDj56G7foZRmNDvLSFpzq
+/xyUxJGcDmx+J9GvAOuvObFn/25DrQJN2NXFm3cPcb6spDJspabBWR6rB+9mJelS
+b091fZN0cQM808dmbPyOgRwikB2078MOllFVKOoYbol0J9pZvxhjpAAUBYzSIQfe
++M6QYwHjqFVIaaM00ceo95QoXYbXmnrW2/TRpgZb0zKd26KSumhcS1saLgBb0TqM
+va+7xX+sdlOLNGAylulTmfOfsBryB6YogX4j6FpmZnzIwtfUS7KfuU9Ex6l50DY3
+kzRMFVpDTN2jRM90loztnTO3Mqa7yjTXgPv0lga2LIlJYYhzRTrt6alWsKxdAwWY
+JxuQiaa119ptdAqgRZkhuWpITFO8XnuQ1L/0vS9qw4SGjnDNm4zxH7AybWlSWzUG
+qsoETYAYMjPIcDuzggAu2YHVastfBI862vuUzPlLPHxQfT7uFWB5C+nyghSzocyZ
+3bL4FrRrf18LoPSODzoc0unMCXCnE8uS/fOqWTFTXCceNFB6em70p0f/BGpbFrxD
+kgE6Pb/VeX57KSuZLuHWbWxgUbVLf75WkkMUhJJ6ZscWpUtrBr6GpeiW0yp+Iw3b
+sRofxLSZ4KRBA3zB9WuhCOrqexVPvT+yRbFyzBtpwRfMpWqOdN+3L6wAqBiFzuuc
+zLqG9RrTLhRtVAGARRbA3K/0cd2Eu4yFj9JennA3/NGRzFrDx+CvnOoJh/cY9eYb
+GOU1KqMABWnpvc6D3UYtSA6pOwZ4k7/qwNuv+p+PwhEfsoBwoaGB5cPiZNKtvIBM
+oTV1J3J6MD0dZ2MbVisWr8L5DZOy41OpRv/nB3qxUjO9VWyx92f2oGeeOLrnwBt5
+TnmGP+KxtA9Q0EmRBxuASEHQ35Vc2J2qPBTGVEchHF+h8ojHpWuyc3vXQo4SaBoy
+arQN3DjExZfjjp0iaFYRGe8Tix3PrazL1XSDWRcfsdACjB0UJnYy2ngAR0CSZQ6m
+iQG8BBgBCAAmFiEE6ZbGcKp/ZUCb9dtWE5442Q3tEfAFAmB1bugCGwwFCQPCZwAA
+CgkQE5442Q3tEfDnvAwA0AkwV8a5kyU0mVHilaNAtZAx0GmlfkYkZqrmEd1sRSOr
+oCRRVqc4BvVfEO72BnmRTB2DP7Q7mP4HTMBwXEdd8mMqM7JWq+6mrOCy/22IDqqv
+kokhkwxAVvtNPuVpcJpa77my3OqMPatrE5jqa6t0O33ovrBADVZ8pgcZ1Vf2SFRj
+6Zv0ZIdSRRk//EhMipArrRttyTDP9OnCIWcHQ+mlkmSuBBcNJcH18q/Jd2ah9Fsn
+VRHn9Q1DSETOPDtGHcEvbo3eYiiiiZW+F8cBouiCks6Vxe6Ra5ur6kt9OrtxZ2pO
+YW9oLPHaZzaO1C9YFJuaa/Lyd8YYNeSgo2Cs/JOmQ7CFlC011Cdt4vGcKskGo9W2
+o8DdPvzHwtGZKELUNiP0x3Ci0jDkfk44up+xYznFZelaAyk43cY/ToAJW2e1vYxA
+K61Iw3QpP5uI6vYfaYaZYgR6Lpf52rsLZVJ0HrNVft/UZPZe4HXSloN3ZcIOgowe
+TJJnGnssYADXMioK7p6Y
+=P53y
+-----END PGP PRIVATE KEY BLOCK-----
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/private_signer2.pgp b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/private_signer2.pgp
new file mode 100644
index 000000000..c54415f0c
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/private_signer2.pgp
@@ -0,0 +1,84 @@
+-----BEGIN PGP PRIVATE KEY BLOCK-----
+
+lQWGBGB1hRUBDACuNDnJk8q+E8bZmIKkOCL9HTrj+ZAo2cfFfi/bLD9UsjRBOa21
+ly9oIjDSsmlFMBGX6J/xvwrnWs4lx1YI5yGw0sX9kzBC5ghAE+LVT28OEBkQZciQ
+i87C9ad8NjZYg+/ZUbW8Hrss9yQz18Lu0Abejs7redAxbhqpbtkqArvRGOKgC+P7
+qFuYuywvIoiAmh3OGzY+B39KLspFaavSorMNcxveoNXehCoDk9eI4WGhyng+XV1N
+ZSquRW4GB8zpEDY0a4Dq4bQsK50A3FeYQMC3Ud0mnMcHERLbghtMQC81Isd/0x44
+nOvjozelRxKzq0MowYXFxQ0jDJN26wVH+3FiovTTxfzk1ZyBOBbjT8yA7xHDgvff
+9HMEhCTWyHtxsJIAZrji+pjx4bgPsdvFb7/noQJsP1Ea/ihSl4SSiJk1wrKoQoA4
+3CVdKJ4FIF+v9Kf7ADftGqMdtTHu02AWdT60iu7eKeWY8by2TbsczOTPzb4opWxS
+QnCJwtdUngs+Hs0AEQEAAf4HAwLqAXbd6kJNxvMykoDbiN1hl3GLcD4gEiF76UHv
+zIdNk1QihIlcSRUHUERdMuHNgnrUQp9WPjNzptwEjAJcP4DYkWcR4+DxPrS07MUa
+3Rba+OPMMwgdqZOF3Ql5EvTqudkuIIFFflF4/ComqyDs9p0MvLIffAbcvV0u4plf
+gyjWFijh3vZvzRkHvTaIrPnzJFgcTztZ8bIIMsL48TX3Sz3JZiF7chcXUeutUrSJ
+740n5jiB0qEHPJ8hZRmAqaYFgInpx1+aRI1ueJCp8ML124Gnn9Tk5l6QSjSTEyPl
+E1YRBHszHRcLP2MJ1TfjyCuXoErpu8kXCKI1/aTTV95cguzEFX8gP32l6vnBC0xB
+NmQ3eNb9NFbb6QO0E9NEF3BG5ADjRplW4sHnrlQn0+TwDReR9X/RsRPEc2zIBnKe
+BZi3o9Judt/CQizyDXtObbg97sIdtnc/EaAIZMrA3uMAxrA5rin5DOIsz/H3zyh9
+w8LZ1cbaWCnp+POv74FjkgXBklniwxkpSSPrVmA2Zw2smXObZq+GcdmRhz0mG2l4
+oKYyPTe4WK74Ho96x1jlDPub7+4/HrCJnxXYsMR35tQvPplWfq1PLOY2mnsXzRho
+h7jWYxYNM949EFCwMF09abDBj34ZpRUfYpP6VC8NATG8//v6LwhhrD3AQwLYbpmA
+YK64LrnCyh8LfSFibp+8yBis+HHsxz2RgJ7gkrSORoKXAGJAHu+GYuhP9am1ObCH
+CUsO1McgCx4yUQZqMbSZuvhf8h61kmnW/+CZSQQ8pO25zvysdhwCPwY1ffsnFX8m
+gIVdMBM7QtC9PepJEGQctXMLH/yng6nCPwkb5dkWwoRywG+VhnokARua9n7fMyJJ
+C+MEVpmWpRNO2pUjtrW8IjftsjLyLah5FLfhfXR1ciQse5J9HkDsuoRr7owvZJ9U
+ZMZStlLZdrMNAIS6k/fRdgBG2mUhLRvdeBcqJ0zO3ZB6RT+Xi4T/C0BEr/tQ65lE
+iX3rgvjs7nqCCq45xmPoY34ClOKvAiXmE/5X9DtGVesJVpSkbDjzNeljH/UG/fSi
+1/pGlYS5FpYtjrPvS8dPvasobafl2nISTWVUpnChLdFSRvEnj71KtuqHmJf2K0F9
+9yz74UPiSv4Ff5Zyw0IcCeK8KIDsvEwfkTvo53ug3qrEA0mjajBNTK9jKDvCYeWD
+v4dbGZqDrMd9Q2UvXXOz9BBrgVN35nAsXXg0hTpKhcDgkKeYi3ssf0T/SR0aYu10
+LVGaN7AqvH11eaXW3Pxa4nO8qm2TBntJMnNO6IEozaba9uM4qrs/5BXWxcJRGBaz
+82PyG4AeTOccU6rJBK1zYhz0KMApuuA5rLQ3RWNsaXBzZSBwMiB0ZXN0IFNpZ25l
+ciAyIDxzaWduZXIyQGZha2V1c2VyLmVjbGlwc2Uub3JnPokB1AQTAQgAPhYhBFTo
+Ck5d9bkVHcBczvkSCo3ck5v0BQJgdYUVAhsDBQkDwmcABQsJCAcCBhUKCQgLAgQW
+AgMBAh4BAheAAAoJEPkSCo3ck5v0THMMAIx1c03u7PsAIXRdi0av9NhvPHjjmYAO
++aTxJB3UJFuCqvj61rKXZqBPYgZbQUJUTeDqENZ2+fZ/7kKZhFu5X3dmCePUGBfF
+tHnC6NfEj4Lp0+WMYTweoJ6jJQpW2ZqiWVMUgLlGGCbdTTnp9D10qSahaqYBcIgk
+v/38Qfqx+D3vyGrqPiUHUwCjwoXL5fsH7r3iNeJBsPdm+2fbjcuij5wzfXhK79B+
+xBQ0VEPcJi1Kbi+QCQC0HUdjc3OSDNSVXbEEgkCNrPPfHz6A14/E0Q+b04OaW2f7
+yq/p/wwVonh+AJomWTk/9bEi1WGahN8WjahHMbycR6Lqm3upyF+/CCiQjUGD0yG2
+XuGtfoieHvHcJF0g2eUAPrRlEtKQfp3Z/UTFAP+bWEhQMlUFLCBXCcPESxzomSkK
+P/ia0PjE7YvWxbV9qgO286EyToqAUqIBEfyxRRv/x3QhtKlTFa8/u/ysJLFx6bVr
+TdMXC6czbXnryZT9HqkdxqnCP2TNpZWo9p0FhgRgdYUVAQwAyp3Wtn6kUDuBPmYm
+9jrrvprMYkjBPapI7Qq/IsuLJfIRex5Pvj4ro1Hnm/FgEjgiAxDocp81HZ6M0PGG
+2PYfO444cqdpGGW1I4Ak7Wus78rSaBpbd98l5zpQYu1b6XILtXQQRY5rGIrbhlZu
+/Hpsdb5jf671GcFjCj+9UW2qJfQch1z9AU4uDBK/43iqWNjR+5hyVI1PQi4m/kYu
+uzEpuBwa0Y8UWWVbO2GQPYbmnSWnU/5MkBvLC5h3f85Q673byHdQCp5WWV99zSUC
+rMXb+xM1cCr6Q95xt1DstpbM1MgNJXiXs5cvb6LetTFeZGG5N0h7r5Qul20fTCyb
+IV89OPBKvkkMWNWwysy8L5mttNEfx78Z64cX/rpfKnS2dtW0G8RYi4JUPVTLekDA
+BQOyVsry8oPJ84NM4AoXO8Mln3bvSZgmSaNRJC+lNqX0xbb+42nZ2yR58rmh/mGc
+uuqdPVxzTeozvPXdDKl2veK/2fuo85mDt/c/QVAzf3uDvRmJABEBAAH+BwMC9jOj
+3vfR2C/zv0u3eFIq0QIXDgpmKvdClJasHTyyGAvNNJYjZmScm4JNnocGe3jmqCAq
+H9L8Y77q+ApljGiQXANFOYV/WMsfTjiqyL1FgNY9OgoNIMnkcMFva+vmlw+aBTYU
+HSL1BafF/nh7eJwDoTrSyH8ObnsuqeN8ZwL1iThix70fwbHmvQ7QEl6hgRFKE3oG
++EPmnlQOVbvYfDVYN6sQahRHVluHMZIrMfvMiEUklKAIH7Di/p1dgwoQCN+kHWrG
+GMQVJzuO8gWJqC5o61LtcnLau5nIgFFDhqqPi233KBGuqaFmA/7gEZO9d77+W9tU
+F2R6Xx4l9FNGws5o1YtwOTeHoLVNRTYoNMfz7B+Sj9RqJG4xQiwCFEKohlA8lIXp
+DJhI+TycFeVh3F/esGL4uRWoI46s3FmoliSFuBSqeE3Gz8OtXBOr3CT4RcSrjziF
+OuGCnbJAykVmx/2RpWNHN9RdzbmwGyZ8Gz4lxsmas6jRacBWMEn9DXMDq5AjeyYW
+lfpXEHAF/n06s+M5nAqJ6uhi1GDYcPQcY1CR6xT9rQoijP+xQUF3ssFGnBWQ1oC6
+nRl4ACJGODgcNuSu+f1/naNK2ZgfaA9hA4mA/YleaIQRvcwWG22ATqpkHnnacU6b
+CqesN+jan65BCR6qRRbSi/paK04AORikCwfz8eJXnZ9A0mlPIYi8ld5nNsdEV5MP
+BUdZdprrIk0KmSHq/0YovQ/ZqtOkXKZWF18Zk9QR/QFRkJ01eARK9AwKQixh6D89
+ZXv0PqWiquaFCsCE7YlkCC5f4XSwSY3KtqtK0BG5zmdus3Tl4gzOY6k1fCOczcpi
+d8ktPEPFBuDWUq8Lutme/a1yAwm82TvOVWPBikASIXpDXWM0JVjEN+4SwrxQ0Hrd
+HnCUkr/eHm4EOkmHGHCQnfs+Q50aJNquAorydhMPVez0AhaXu1DwCinAX0K3zAOa
+In5/JAhkZ7L5Fy4DG+uQ8YsZA0/2T/5Nr+k2nX1ERZuQ6zta67mAiZpw/M2J6ujZ
+AGEbImcGzN48NG8E4sykm/mUIjtxmwakWJ1Cb7+AtMG/8v2jCjwVDVThRWwkdrsY
+ug62N/HPQ+sXow6CMA7s1TaQvxn2p1s2zJk+cMOPPn/4VC4y6xPT6nr9Zsi+XxWy
+i87H8PyfwG2MqaJEgIr0vGoWPpnCJjUYvK3xqFXPsxz6ngDQW8mG704uWiZhGuua
+sXkWyxiobQ/1HtQyk0NA1MCQWSHfHlMf+Km9KrFSm3MlLFtvLvk9VHq8dqfttIZs
+l5WHh0o43X3iqMNBlWeJ8A4qmg6/k4n/Zek/y0znieFFXi8Tl3eCsLZWraaE1jP5
+wZyJAbwEGAEIACYWIQRU6ApOXfW5FR3AXM75EgqN3JOb9AUCYHWFFQIbDAUJA8Jn
+AAAKCRD5EgqN3JOb9JV1C/sEGGnSLRnVLurlTw6IFIRH0XXggzFaA6JN3cwTmJK5
+xCf4sSwyCt67LXQWZ+YTTFt+EXo/Yd25tPNyJDBAh1dg7TBkTAIGV3PrPJ6Ixmjo
+j5Tw2ykaw5fzI37+FjMhB91jzNMDpwcth+7+qu/ru6yIJ/AcHqfSKLD9ao38/jIf
+rfbmcZCb+5ZZCSUoyLRAUjSMFqqiRKfy5JiD/qz2ej5rXx4hv1zyq3XauVRC7H5c
+ZAAu4g9mP/ri9YhRelGrjm/VmkYMYJ9LS2kMHet7031ldpmcCZfex5ZUR0HLTrF7
+jBd1bN0VbGXZMIchXgJuVrJq7Kw36cjTvP+l46ufWYO+1VArGWk0CKhXIf/MR7C9
+W9RycZUlWTVGBXrncfvqY5Db3SABUJOTRwUyf43G5KCrScx8w7BM0hn+zJyAW9W/
+GplTfzZ8/SWpbNYSlJStpzvEzVUousCk5ERKTp93qYqI/m65zIrxxsaQUc70zUOQ
+dhlWIjDhIRD9JBC+M657iNc=
+=OHTb
+-----END PGP PRIVATE KEY BLOCK-----
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/public_signer1.pgp b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/public_signer1.pgp
new file mode 100644
index 000000000..485e0bb6f
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/public_signer1.pgp
@@ -0,0 +1,41 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQGNBGB1bugBDADQ5l7YnS9hNFRkBKSrvVNHt/TxeHaNNIHkdTC56I1QdThsOt4Y
+oQRI27AEOaY1GFEi6+QqwxALcMMMSTgkCRs2NFGqlWMVzNYE7bJMWChVa7uQ/9CG
+1HRbXwVwQx3hFgU4kmw1Kl/IH4LX76d9gAMyFANPjYZJSjbAv54wOlKruDRgpQFF
+pZeuXW7SnerL6sgd/+ZroikdkrjIs5t18C2ofzf6YnOokYkEEJSAEoQK5svVzT4G
+H3sw6FlE41RvnYKpuhvvyQhKjISDYfRaIL4JIpvR9Uko48eN9x654lJaucbMiLP4
+ROI9q7RQ6t1IMCiIN9QKgS+nVtHnN9MnXS0czGxfLdStv6bB+xgUoyBc7Uiqf4X0
+x8z9PE6O1L6Rgy2JMJHPgLWCF8h/u1FO88Br3I7TMzu2q/cg3k18L7eujnxVyYiD
+YIMxDBXBNnGCKRC4shgt8e+PzAPXIDFvbv7HOaERnx5c6eLl0tD12ocQeZHp1VlW
+nQteQ6CfvN07dNUAEQEAAbQ3RWNsaXBzZSBwMiB0ZXN0IFNpZ25lciAxIDxzaWdu
+ZXIxQGZha2V1c2VyLmVjbGlwc2Uub3JnPokB1AQTAQgAPhYhBOmWxnCqf2VAm/Xb
+VhOeONkN7RHwBQJgdW7oAhsDBQkDwmcABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheA
+AAoJEBOeONkN7RHwuXYL/Ri2gHoXELN79dWnuC5hjh7XgKquqlZg3qLgkLyA/54/
+ERx7HLLMHjU5tVIVacZ9UWb30Bzx6iVx2hMtL/0FFJ1S0iwwTDXft/9EoPvsmmEx
+VYEiSx5HxsPXM+XofMvi75nN34iMUIU3SgKLzHqlWcC3T7XjDWKC8TkTcutIAaIz
+BMRssktJR3OYzWbbwzgz83sVpofWGfxIW91H19Zr8rjIXiNyy1ulRnfsaz+xXeXf
+KxZZs00FtIIOeWBhCtsb8/8Uv3FRDK6+lX3xAqfMG67azJXpFafWJGiymypfSwi6
+JA866WOzw9DfbqWIlY/EMIhyZrsWnGiGhhAavwOiSWYV65ooFYooKHNmIekpvRZS
+wlGuwvnZr+2471urkCoG8Yz2Ey28Qjc0NgXlXAkqFUkO2gNPFsXkk1EC+vzO2llp
+qROS9pt25dEBcUSgfcjFOFWv2Z5IdmGjFEe46CJNEVzNgkP+97wJP7wpcOCSF/nn
+eOBj4b7Q0suJ+MsE/Fx6SbkBjQRgdW7oAQwAst4QGHd9w+V3UHgRMYZISfYApcAK
+2qBT1Zvf01QE38JUtDPKJarDlgxcaXuX6jOcbF60OMd59dhNmpaZYpocJZMgnESj
+0/Tn4cZfWwtOo1Pom8Lbg1zGKIYAaR2mTb8mkCwJwsZCUZCmh+zspacxdVRdmWmC
+XcFxFc/6gBKxcPFZf93JZaI33qsLpxyA57AJV5ck/TY1iFmA6HFxehamsAVdd56g
+uyORekJJlZHXE9pICVEGqVUfdbSQXEiS386kZDftXe36phdj1gtFsRLHoBI8+L7o
+2vrdnj1UZgtvxBbJJ+QAfhF8+f84RFIi9CTY8cheX+YfDMEdg9J9LG54X5P3O1ZX
+eEvudKk/hqWBf+2rrdkhdFyyGRK0yTrO+PQ+tZHhcHPqfo4EiVktC4BTpB6QtLBY
+NAGYMRddmZMgp4lE2xGib8SYwonct3y1fmB+x67lq65IFVM/IAwN6BuMXtgb+Zkm
+iT+eKgc1pK4uCsZJbQAlPzkDGQV69GNyjlphABEBAAGJAbwEGAEIACYWIQTplsZw
+qn9lQJv121YTnjjZDe0R8AUCYHVu6AIbDAUJA8JnAAAKCRATnjjZDe0R8Oe8DADQ
+CTBXxrmTJTSZUeKVo0C1kDHQaaV+RiRmquYR3WxFI6ugJFFWpzgG9V8Q7vYGeZFM
+HYM/tDuY/gdMwHBcR13yYyozslar7qas4LL/bYgOqq+SiSGTDEBW+00+5Wlwmlrv
+ubLc6ow9q2sTmOprq3Q7fei+sEANVnymBxnVV/ZIVGPpm/Rkh1JFGT/8SEyKkCut
+G23JMM/06cIhZwdD6aWSZK4EFw0lwfXyr8l3ZqH0WydVEef1DUNIRM48O0YdwS9u
+jd5iKKKJlb4XxwGi6IKSzpXF7pFrm6vqS306u3Fnak5hb2gs8dpnNo7UL1gUm5pr
+8vJ3xhg15KCjYKz8k6ZDsIWULTXUJ23i8ZwqyQaj1bajwN0+/MfC0ZkoQtQ2I/TH
+cKLSMOR+Tji6n7FjOcVl6VoDKTjdxj9OgAlbZ7W9jEArrUjDdCk/m4jq9h9phpli
+BHoul/nauwtlUnQes1V+39Rk9l7gddKWg3dlwg6CjB5MkmcaeyxgANcyKgrunpg=
+=JYpC
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/public_signer2.pgp b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/public_signer2.pgp
new file mode 100644
index 000000000..0beadf637
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/public_signer2.pgp
@@ -0,0 +1,41 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQGNBGB1hRUBDACuNDnJk8q+E8bZmIKkOCL9HTrj+ZAo2cfFfi/bLD9UsjRBOa21
+ly9oIjDSsmlFMBGX6J/xvwrnWs4lx1YI5yGw0sX9kzBC5ghAE+LVT28OEBkQZciQ
+i87C9ad8NjZYg+/ZUbW8Hrss9yQz18Lu0Abejs7redAxbhqpbtkqArvRGOKgC+P7
+qFuYuywvIoiAmh3OGzY+B39KLspFaavSorMNcxveoNXehCoDk9eI4WGhyng+XV1N
+ZSquRW4GB8zpEDY0a4Dq4bQsK50A3FeYQMC3Ud0mnMcHERLbghtMQC81Isd/0x44
+nOvjozelRxKzq0MowYXFxQ0jDJN26wVH+3FiovTTxfzk1ZyBOBbjT8yA7xHDgvff
+9HMEhCTWyHtxsJIAZrji+pjx4bgPsdvFb7/noQJsP1Ea/ihSl4SSiJk1wrKoQoA4
+3CVdKJ4FIF+v9Kf7ADftGqMdtTHu02AWdT60iu7eKeWY8by2TbsczOTPzb4opWxS
+QnCJwtdUngs+Hs0AEQEAAbQ3RWNsaXBzZSBwMiB0ZXN0IFNpZ25lciAyIDxzaWdu
+ZXIyQGZha2V1c2VyLmVjbGlwc2Uub3JnPokB1AQTAQgAPhYhBFToCk5d9bkVHcBc
+zvkSCo3ck5v0BQJgdYUVAhsDBQkDwmcABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheA
+AAoJEPkSCo3ck5v0THMMAIx1c03u7PsAIXRdi0av9NhvPHjjmYAO+aTxJB3UJFuC
+qvj61rKXZqBPYgZbQUJUTeDqENZ2+fZ/7kKZhFu5X3dmCePUGBfFtHnC6NfEj4Lp
+0+WMYTweoJ6jJQpW2ZqiWVMUgLlGGCbdTTnp9D10qSahaqYBcIgkv/38Qfqx+D3v
+yGrqPiUHUwCjwoXL5fsH7r3iNeJBsPdm+2fbjcuij5wzfXhK79B+xBQ0VEPcJi1K
+bi+QCQC0HUdjc3OSDNSVXbEEgkCNrPPfHz6A14/E0Q+b04OaW2f7yq/p/wwVonh+
+AJomWTk/9bEi1WGahN8WjahHMbycR6Lqm3upyF+/CCiQjUGD0yG2XuGtfoieHvHc
+JF0g2eUAPrRlEtKQfp3Z/UTFAP+bWEhQMlUFLCBXCcPESxzomSkKP/ia0PjE7YvW
+xbV9qgO286EyToqAUqIBEfyxRRv/x3QhtKlTFa8/u/ysJLFx6bVrTdMXC6czbXnr
+yZT9HqkdxqnCP2TNpZWo9rkBjQRgdYUVAQwAyp3Wtn6kUDuBPmYm9jrrvprMYkjB
+PapI7Qq/IsuLJfIRex5Pvj4ro1Hnm/FgEjgiAxDocp81HZ6M0PGG2PYfO444cqdp
+GGW1I4Ak7Wus78rSaBpbd98l5zpQYu1b6XILtXQQRY5rGIrbhlZu/Hpsdb5jf671
+GcFjCj+9UW2qJfQch1z9AU4uDBK/43iqWNjR+5hyVI1PQi4m/kYuuzEpuBwa0Y8U
+WWVbO2GQPYbmnSWnU/5MkBvLC5h3f85Q673byHdQCp5WWV99zSUCrMXb+xM1cCr6
+Q95xt1DstpbM1MgNJXiXs5cvb6LetTFeZGG5N0h7r5Qul20fTCybIV89OPBKvkkM
+WNWwysy8L5mttNEfx78Z64cX/rpfKnS2dtW0G8RYi4JUPVTLekDABQOyVsry8oPJ
+84NM4AoXO8Mln3bvSZgmSaNRJC+lNqX0xbb+42nZ2yR58rmh/mGcuuqdPVxzTeoz
+vPXdDKl2veK/2fuo85mDt/c/QVAzf3uDvRmJABEBAAGJAbwEGAEIACYWIQRU6ApO
+XfW5FR3AXM75EgqN3JOb9AUCYHWFFQIbDAUJA8JnAAAKCRD5EgqN3JOb9JV1C/sE
+GGnSLRnVLurlTw6IFIRH0XXggzFaA6JN3cwTmJK5xCf4sSwyCt67LXQWZ+YTTFt+
+EXo/Yd25tPNyJDBAh1dg7TBkTAIGV3PrPJ6Ixmjoj5Tw2ykaw5fzI37+FjMhB91j
+zNMDpwcth+7+qu/ru6yIJ/AcHqfSKLD9ao38/jIfrfbmcZCb+5ZZCSUoyLRAUjSM
+FqqiRKfy5JiD/qz2ej5rXx4hv1zyq3XauVRC7H5cZAAu4g9mP/ri9YhRelGrjm/V
+mkYMYJ9LS2kMHet7031ldpmcCZfex5ZUR0HLTrF7jBd1bN0VbGXZMIchXgJuVrJq
+7Kw36cjTvP+l46ufWYO+1VArGWk0CKhXIf/MR7C9W9RycZUlWTVGBXrncfvqY5Db
+3SABUJOTRwUyf43G5KCrScx8w7BM0hn+zJyAW9W/GplTfzZ8/SWpbNYSlJStpzvE
+zVUousCk5ERKTp93qYqI/m65zIrxxsaQUc70zUOQdhlWIjDhIRD9JBC+M657iNc=
+=Kto/
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/signed_by_signer_1 b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/signed_by_signer_1
new file mode 100644
index 000000000..a001778a4
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/signed_by_signer_1
@@ -0,0 +1,14 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQHRBAABCAA7FiEE6ZbGcKp/ZUCb9dtWE5442Q3tEfAFAmB1jSEdHHNpZ25lcjFA
+ZmFrZXVzZXIuZWNsaXBzZS5vcmcACgkQE5442Q3tEfDElAv/YEgAwby4DXD3J0ZX
+6iAU2nRjpaUqZ7SAVkOiueeuuxlDw9HnVpIEp/nAOM0OiJrY5h9jQwpLY+p7QmL/
+hWows1fX1PKzpJNATS3bHr+B7qxPkM2N2LKK/ipkknjBXeQIOZyn47nT1nI8/UbA
+UePb5PXDZdIraP6trf5WcsMPxncPntFA4hnPzoVSgvfIYw+Rnjnbsva67grJAe0s
+RJLQatTtPM35n7g3UiNwd09lADPz6u9Ka63GFIf1Prt/mZxsihYq+oJ3xwTudxin
+n2KFCVIw6pCfpXAdYp5CkpbLCBUxyM0TjwphpiVjpa3haqay6iOYcYTubpTcS60S
+Dmz0PE9RCyQq5ycXFPD1UGQKe4C3J/0PzUciT/WzDlxWhM0Wglgez+tYphwDyYHA
+4Q+aSv4FMtKJ/I+RVpgOeF+XApEFwPXB5gw9VtjP9e9uu2T3qEnllrzhfPnNzgY9
+km2tk2WYL2hFdRolQnSfzcimTBaa6GI7dWhMCYe0z1Q0xa1i
+=0YYr
+-----END PGP SIGNATURE-----
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/signed_by_signer_1_otherArtifact b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/signed_by_signer_1_otherArtifact
new file mode 100644
index 000000000..f8c604147
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/signed_by_signer_1_otherArtifact
@@ -0,0 +1,14 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQHRBAABCAA7FiEE6ZbGcKp/ZUCb9dtWE5442Q3tEfAFAmB1+EodHHNpZ25lcjFA
+ZmFrZXVzZXIuZWNsaXBzZS5vcmcACgkQE5442Q3tEfD5LAwAyPl8TBsC0bYZAsRX
+BSGXjlJ+oBKci5VH6bgM/ldnZD5SsYv6PVoxxdOJA2R6S88xxd0DuWivYuG+9aiZ
+w98hx6g0vNH8AWL+yd+l+2yIS8i/MJ57MCvVztexq935fIYU5KGdUNNEjDIrGHQQ
+AR5QWfTiy9EGracG4W6F9twmMOfDlCJ3eRCetp5OTvqBzS2gLom8ECaw7tezYvA/
+09Ok88j7vMI5kL3FO3WzzR+obeYUc19F6602h4cEJs/yOTOj/gz6GCXsAnuYQs1L
+yhjv4Cp4sBnMw+zPX0jFeNHu35mPt8oOFz1NLN85GHO7v3FFXmtwxj8bVBWBQR3R
+Vfi+n8SfR3WO5pYpsqPHZgP95K+W53ere1BZd67cT6uuJDtoDWC6TYPjndm5tnN1
++AzDQO12cC4w2cgIt3ElNYK0T8ADvrmCMPZPRPJ+GeZb0jb871SLDU1MPGZ9NHUl
+hiuiOU3vTN/X/SbZM/Zcz2eahRAOBOc8sXzqcbjQHN/Akzbg
+=acJE
+-----END PGP SIGNATURE-----
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/signed_by_signer_1_tampered b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/signed_by_signer_1_tampered
new file mode 100644
index 000000000..d165ca5a4
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/signed_by_signer_1_tampered
@@ -0,0 +1,14 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQHRBAABCAA7FiEE6ZbGcKp/ZUCb9dtWE5442Q3tEfAFAmB1jSEdHHNpZ25lcjFA
+ZmFrZXVzZXIuZWNsaXBzZS5vcmcACgkQE5442Q3tEfDElAv/YEgAwby4DXD3J0ZX
+6iAU2nRjpaUqZ7SAVkOiueeuuxlDw9HnVpIEp/nAOM0OiJrY5h9jQwpLY+p7QmL/
+hWows1fX1PKzpJNATS3bHr+B7qxPkM2N2LKK/ipkknjBXeQIOZyn47nT1nI8/UbA
+UePb5PXDZdIraP6trf5WcsMPxncPntFA4hnPzoVSgvfIYw+Rnjnbsva67grJAe0s
+RJLQatTtPM35n7g3UiNwd09lADPz6u9Ka63GFIf1Prt/mZxsihYq+oJ3xwTudxin
+n2KFCVIw6pCfpXAdYp5CkpbLCBUxyM0TjwphpiVjpa3haqay6iOYcYTubpTcS60S
+Dmz0PE9RCyQq5ycXFPD1UGQKe4C3J/0PzUciT/WzDlxWhM0Wglgez+tYphwDyYHA
+5Q+aSv4FMtKJ/I+RVpgOeF+XApEFwPXB5gw9VtjP9e9uu2T3qEnllrzhfPnNzgY9
+km2tk2WYL2hFdRolQnSfzcimTBaa6GI7dWhMCYe0z1Q0xa1i
+=0YYr
+-----END PGP SIGNATURE-----
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/signed_by_signer_2 b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/signed_by_signer_2
new file mode 100644
index 000000000..056858dbd
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/signed_by_signer_2
@@ -0,0 +1,14 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQHRBAABCAA7FiEEVOgKTl31uRUdwFzO+RIKjdyTm/QFAmB1jTEdHHNpZ25lcjJA
+ZmFrZXVzZXIuZWNsaXBzZS5vcmcACgkQ+RIKjdyTm/REpQv8DJeanIGgPjvV09sP
+BCBTSbHjoV6b5N6vjc15yZhBcWLJe0PAvApdCt0t7E4kTIKOqAz1sABB6YmJjGOZ
+SLL3AToVPk30b07Eq4qgOjEkb3pGlpVFshxEmtrLpbVy068774wacW+PLpvgP0FN
+7v0MlCbdcTBA18MVE3eraA14KL+yfLFkEgdtHSpZ6jzhRcQZexKJRpnS7/Bcah80
+RMZ69/N4HPWTo3ys7ELyeDC80P8B35fcayPLJVsFUgrUQ74UsIUwsaUQwoRNuZYR
+RSizHrJxkLhfYY5CMFTh9Bl1odY/kiXdBGw2Cqk02K3BlwFMsw5mK4CRtoagpGRO
+l1mX58sWjrE+J0tla6MG9aDZiUBdQzFoDGIppex5Bq9ePDcB6CCjR5HO4t7xIg5d
+1/pZly/T0kACgzrbfY3IkBVtL0Fv+PCOJRkmTqw2Lvo3Nhq18TTyZWQLqaZQt/Tc
+dmZVisxh4YbI8wpTRYh3jSlKJ1YYwlj6/QMG7t2UI9B2jg+7
+=8i0n
+-----END PGP SIGNATURE-----
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/testArtifact b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/testArtifact
new file mode 100644
index 000000000..fd80c131c
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/processors/testArtifact
@@ -0,0 +1 @@
+Hello! Please don't modify me because I'm signed for tests and modifying me in any way would make tests fail \ No newline at end of file
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/AllTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/AllTests.java
index fac04a26a..0b23efdfc 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/AllTests.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/AllTests.java
@@ -26,7 +26,7 @@ import org.junit.runners.Suite;
BatchExecuteArtifactRepositoryTest.class, Bug252308.class, Bug265577.class, Bug351944.class,
CompositeArtifactRepositoryTest.class, CorruptedJar.class, FoldersRepositoryTest.class,
JarURLArtifactRepositoryTest.class, LocationTest.class, MD5Tests.class, MirrorSelectorTest.class,
- MirrorRequestTest.class, SimpleArtifactRepositoryTest.class, TransferTest.class
+ MirrorRequestTest.class, SimpleArtifactRepositoryTest.class, TransferTest.class, PGPTest.class
})
public class AllTests {
// test suite
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/PGPTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/PGPTest.java
new file mode 100644
index 000000000..bd2e3e2ad
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/PGPTest.java
@@ -0,0 +1,61 @@
+/*******************************************************************************
+ * Copyright (c) 2021 Red Hat Inc. and others.
+ *
+ * This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License 2.0
+ * which accompanies this distribution, and is available at
+ * https://www.eclipse.org/legal/epl-2.0/
+ *
+ * SPDX-License-Identifier: EPL-2.0
+ *******************************************************************************/
+package org.eclipse.equinox.p2.tests.artifact.repository;
+
+import java.nio.file.Files;
+import org.eclipse.core.runtime.IStatus;
+import org.eclipse.core.runtime.NullProgressMonitor;
+import org.eclipse.equinox.internal.p2.artifact.repository.MirrorRequest;
+import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
+import org.eclipse.equinox.p2.metadata.Version;
+import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
+import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
+import org.junit.Test;
+
+public class PGPTest extends AbstractProvisioningTest {
+ IArtifactRepository targetRepo = null;
+ IArtifactRepository sourceRepo = null;
+
+ private void loadPGPTestRepo(String repoName) throws Exception {
+ sourceRepo = getArtifactRepositoryManager().loadRepository(
+ getTestData("Test repository for PGP", "testData/pgp/" + repoName).toURI(), new NullProgressMonitor());
+ targetRepo = createArtifactRepository(Files.createTempDirectory(PGPTest.class.getSimpleName()).toUri(),
+ NO_PROPERTIES);
+ }
+
+ @Test
+ public void testAllGood() throws Exception {
+ IStatus mirrorStatus = performMirrorFrom("repoPGPOK");
+ assertOK(mirrorStatus);
+ }
+
+ private IStatus performMirrorFrom(String repoName) throws Exception {
+ loadPGPTestRepo(repoName);
+ ArtifactKey key = new ArtifactKey("osgi.bundle", "blah", Version.create("1.0.0.123456"));
+ MirrorRequest mirrorRequest = new MirrorRequest(key, targetRepo, NO_PROPERTIES, NO_PROPERTIES, getTransport());
+ mirrorRequest.perform(sourceRepo, getMonitor());
+ return mirrorRequest.getResult();
+ }
+
+ @Test
+ public void testMissingPublicKey() throws Exception {
+ IStatus mirrorStatus = performMirrorFrom("repoMissingPublicKey");
+ assertNotOK(mirrorStatus);
+ assertTrue(mirrorStatus.toString().contains("Public key not found"));
+ }
+
+ @Override
+ protected void tearDown() throws Exception {
+ getArtifactRepositoryManager().removeRepository(sourceRepo.getLocation());
+ getArtifactRepositoryManager().removeRepository(targetRepo.getLocation());
+ super.tearDown();
+ }
+}
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/SimpleArtifactRepositoryTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/SimpleArtifactRepositoryTest.java
index 6c1d4f87a..c398b0025 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/SimpleArtifactRepositoryTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/SimpleArtifactRepositoryTest.java
@@ -256,6 +256,7 @@ public class SimpleArtifactRepositoryTest extends AbstractProvisioningTest {
/*
* Test that the appropriate location for a packed feature is returned.
*/
+ @Deprecated(forRemoval = true)
public void testProperPackedFeatureLocation() {
try {
repositoryFile = getTempFolder();
@@ -423,6 +424,7 @@ public class SimpleArtifactRepositoryTest extends AbstractProvisioningTest {
System.out.println("Total time: " + (end - start));
}
+ @SuppressWarnings("removal")
public void testQuery() throws Exception {
File folder = getTestFolder("ArtifactRepository_testQuery");
repositoryURI = folder.toURI();
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepHandlerTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepHandlerTest.java
index 749403ee0..c5706241b 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepHandlerTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/artifact/repository/processing/ProcessingStepHandlerTest.java
@@ -1,5 +1,5 @@
/*******************************************************************************
-* Copyright (c) 2007, 2020 compeople AG and others.
+* Copyright (c) 2007, 2021 compeople AG and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -44,6 +44,7 @@ import org.eclipse.equinox.p2.repository.artifact.spi.ProcessingStepDescriptor;
import org.eclipse.equinox.p2.tests.TestActivator;
import org.junit.Test;
+@SuppressWarnings("removal")
public class ProcessingStepHandlerTest {
// private static final int BUFFER_SIZE = 8 * 1024;
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/gc/GCCleanTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/gc/GCCleanTest.java
index 8b9592993..e77597a59 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/gc/GCCleanTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/gc/GCCleanTest.java
@@ -23,7 +23,10 @@ import org.eclipse.equinox.internal.p2.metadata.ArtifactKey;
import org.eclipse.equinox.p2.core.ProvisionException;
import org.eclipse.equinox.p2.metadata.IArtifactKey;
import org.eclipse.equinox.p2.metadata.Version;
-import org.eclipse.equinox.p2.repository.artifact.*;
+import org.eclipse.equinox.p2.repository.artifact.ArtifactKeyQuery;
+import org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor;
+import org.eclipse.equinox.p2.repository.artifact.IArtifactRepository;
+import org.eclipse.equinox.p2.repository.artifact.IArtifactRepositoryManager;
import org.eclipse.equinox.p2.repository.artifact.spi.ArtifactDescriptor;
import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
@@ -31,6 +34,7 @@ import org.eclipse.equinox.p2.tests.AbstractProvisioningTest;
* Tests for the sweep (clean) phase of the garbage collection
*/
public class GCCleanTest extends AbstractProvisioningTest {
+ @SuppressWarnings("removal")
private IArtifactRepository createRepository(File location) throws ProvisionException {
URI repositoryURI = location.toURI();
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/jarprocessor/JarProcessorTests.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/jarprocessor/JarProcessorTests.java
index afb71ab55..abc3a1592 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/jarprocessor/JarProcessorTests.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/jarprocessor/JarProcessorTests.java
@@ -1,5 +1,5 @@
/*******************************************************************************
- * Copyright (c) 2005, 2017 IBM Corporation and others.
+ * Copyright (c) 2005, 2021 IBM Corporation and others.
*
* This program and the accompanying materials
* are made available under the terms of the Eclipse Public License 2.0
@@ -13,7 +13,11 @@
*******************************************************************************/
package org.eclipse.equinox.p2.tests.jarprocessor;
-import java.io.*;
+import java.io.File;
+import java.io.FileFilter;
+import java.io.FileNotFoundException;
+import java.io.FileOutputStream;
+import java.io.PrintStream;
import org.eclipse.core.runtime.Platform;
import org.eclipse.equinox.internal.p2.jarprocessor.PackStep;
import org.eclipse.equinox.internal.p2.jarprocessor.verifier.Verifier;
@@ -23,6 +27,7 @@ import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessor;
import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExecutor;
import org.eclipse.internal.provisional.equinox.p2.jarprocessor.JarProcessorExecutor.Options;
+@SuppressWarnings("removal")
public class JarProcessorTests extends AbstractProvisioningTest {
public void testVerifyStep() throws Exception {
@@ -78,6 +83,7 @@ public class JarProcessorTests extends AbstractProvisioningTest {
}
+ @Deprecated(forRemoval = true)
public void testPackUnpackVerify() throws Exception {
if (!PackStep.canPack() || !VerifyStep.canVerify())
return;
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/ArtifactMirrorApplicationTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/ArtifactMirrorApplicationTest.java
index 5ecc71c3f..416f4a8a3 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/ArtifactMirrorApplicationTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/ArtifactMirrorApplicationTest.java
@@ -14,6 +14,7 @@
*******************************************************************************/
package org.eclipse.equinox.p2.tests.mirror;
+import static org.eclipse.equinox.p2.repository.artifact.IArtifactDescriptor.FORMAT_PACKED;
import static org.junit.Assert.assertNotEquals;
import java.io.File;
@@ -882,6 +883,7 @@ public class ArtifactMirrorApplicationTest extends AbstractProvisioningTest {
/**
* Verifies that the mirror application executes processing steps correctly
*/
+ @SuppressWarnings("removal")
public void testArtifactProcessingSteps() {
if (System.getProperty("java.specification.version").compareTo("14") >= 0) {
// Test explicitly uses pack200 artifacts which are not supported on Java 14+
@@ -901,7 +903,8 @@ public class ArtifactMirrorApplicationTest extends AbstractProvisioningTest {
for (IArtifactKey key : packedRepo.query(ArtifactKeyQuery.ALL_KEYS, null)) {
for (IArtifactDescriptor srcDescriptor : packedRepo.getArtifactDescriptors(key)) {
- if (!(srcDescriptor.getProperty(IArtifactDescriptor.FORMAT) == null) && srcDescriptor.getProperty(IArtifactDescriptor.FORMAT).equals(IArtifactDescriptor.FORMAT_PACKED)) {
+ if (!(srcDescriptor.getProperty(IArtifactDescriptor.FORMAT) == null)
+ && srcDescriptor.getProperty(IArtifactDescriptor.FORMAT).equals(FORMAT_PACKED)) {
//if we have a packed artifact
IArtifactDescriptor newDescriptor = new ArtifactDescriptor(key);
Map<String, String> properties = new OrderedProperties();
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/NewMirrorApplicationArtifactTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/NewMirrorApplicationArtifactTest.java
index 700ebd54c..7a8c97e60 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/NewMirrorApplicationArtifactTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/mirror/NewMirrorApplicationArtifactTest.java
@@ -940,6 +940,7 @@ public class NewMirrorApplicationArtifactTest extends AbstractProvisioningTest {
/**
* Verifies that the mirror application executes processing steps correctly
*/
+ @SuppressWarnings("removal")
@Test
public void testArtifactProcessingSteps() {
if (System.getProperty("java.specification.version").compareTo("14") >= 0) {
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AbsolutePlanTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AbsolutePlanTest.java
index d14302449..9e5d9b322 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AbsolutePlanTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/planner/AbsolutePlanTest.java
@@ -52,6 +52,7 @@ public class AbsolutePlanTest extends AbstractProvisioningTest {
for (Operand op : ops) {
if (op instanceof InstallableUnitPropertyOperand) {
found = true;
+ break;
}
}
assertTrue(found);
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java
index f56b010af..df719ad9e 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/publisher/actions/BundlesActionTest.java
@@ -218,6 +218,7 @@ public class BundlesActionTest extends ActionTest {
verifyArtifactRepository();
}
+ @SuppressWarnings("removal")
private void verifyArtifactRepository() throws Exception {
IArtifactKey key2 = ArtifactKey.parse("osgi.bundle,test2,1.0.0.qualifier");//$NON-NLS-1$
IArtifactDescriptor[] descriptors = artifactRepository.getArtifactDescriptors(key2);
diff --git a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/UpdateSiteTest.java b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/UpdateSiteTest.java
index a3204eb7d..1635e8a59 100644
--- a/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/UpdateSiteTest.java
+++ b/bundles/org.eclipse.equinox.p2.tests/src/org/eclipse/equinox/p2/tests/updatesite/UpdateSiteTest.java
@@ -800,6 +800,7 @@ public class UpdateSiteTest extends AbstractProvisioningTest {
// Should have a packed & canonical version
assertEquals(2, descriptors.length);
+ @SuppressWarnings("removal")
IArtifactDescriptor desc = IArtifactDescriptor.FORMAT_PACKED.equals(descriptors[0].getProperty(IArtifactDescriptor.FORMAT)) ? descriptors[0] : descriptors[1];
try (OutputStream out = new FileOutputStream(output)) {
@@ -815,6 +816,7 @@ public class UpdateSiteTest extends AbstractProvisioningTest {
}
}
+ @SuppressWarnings("removal")
public void testMirrors() {
String testDataLocation = "/testData/updatesite/packedSiteWithMirror";
File targetLocation = null;
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/artifacts.xml
index 3093c3db4..126d69b9d 100644
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/artifacts.xml
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/artifacts.xml
@@ -13,7 +13,7 @@
<rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
</mappings>
<artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.eclipse.equinox.common' version='3.5.0.corrupted'>
+ <artifact classifier='osgi.bundle' id='org.eclipse.equinox.common' version='3.15.0.v20210428-1632'>
<properties size='4'>
<property name='download.contentType' value='application/zip'/>
</properties>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/content.xml
index 0606c14e5..dd28b8da8 100644
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/content.xml
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/content.xml
@@ -7,18 +7,18 @@
<property name='site.checksum' value='2404093275'/>
</properties>
<units size='1'>
- <unit id='testBundle' version='3.5.0.corrupted'>
+ <unit id='testBundle' version='3.15.0.v20210428-1632'>
<properties size='3'>
<property name='org.eclipse.equinox.p2.name' value='Uncategorized'/>
<property name='org.eclipse.equinox.p2.description' value='Default category for otherwise uncategorized features'/>
<property name='org.eclipse.equinox.p2.type.category' value='true'/>
</properties>
<provides size='1'>
- <provided namespace='org.eclipse.equinox.p2.iu' name='testBundle' version='3.5.0.corrupted'/>
+ <provided namespace='org.eclipse.equinox.p2.iu' name='testBundle' version='3.15.0.v20210428-1632'/>
</provides>
<touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
<artifacts size='1'>
- <artifact classifier='osgi.bundle' id='org.eclipse.equinox.common' version='3.5.0.corrupted'/>
+ <artifact classifier='osgi.bundle' id='org.eclipse.equinox.common' version='3.15.0.v20210428-1632'/>
</artifacts>
</unit>
</units>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/plugins/org.eclipse.equinox.common_3.15.0.v20210428-1632.jar b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/plugins/org.eclipse.equinox.common_3.15.0.v20210428-1632.jar
new file mode 100644
index 000000000..ba48f48f9
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/plugins/org.eclipse.equinox.common_3.15.0.v20210428-1632.jar
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/plugins/org.eclipse.equinox.common_3.5.0.corrupted.jar b/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/plugins/org.eclipse.equinox.common_3.5.0.corrupted.jar
deleted file mode 100644
index 7fdbb530d..000000000
--- a/bundles/org.eclipse.equinox.p2.tests/testData/artifactRepo/corruptedJarRepo/plugins/org.eclipse.equinox.common_3.5.0.corrupted.jar
+++ /dev/null
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/artifacts.xml
new file mode 100644
index 000000000..2ffef6a9f
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/artifacts.xml
@@ -0,0 +1,36 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?artifactRepository version='1.1.0'?>
+<repository name='file:/home/mistria/sandbox/repo/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
+ <properties size='2'>
+ <property name='p2.timestamp' value='1618433231272'/>
+ <property name='p2.compressed' value='false'/>
+ <!-- See PGPSignatureVerifierTest about this public key-->
+ </properties>
+ <mappings size='3'>
+ <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
+ <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
+ <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
+ </mappings>
+ <artifacts size='1'>
+ <artifact classifier='osgi.bundle' id='blah' version='1.0.0.123456'>
+ <properties size='1'>
+ <!-- gpg -u signer1@fakeuser.eclipse.org -a -detach-sig plugins/blah_1.0.0.123456.jar -->
+ <property name='pgp.signatures' value='-----BEGIN PGP SIGNATURE-----
+
+iQHRBAABCAA7FiEE6ZbGcKp/ZUCb9dtWE5442Q3tEfAFAmB4Bf8dHHNpZ25lcjFA
+ZmFrZXVzZXIuZWNsaXBzZS5vcmcACgkQE5442Q3tEfBPuAwAhE4zA7BswKFhEtzm
+DS3EbyRr/U13sV01YxqGtxYDCfrOt8TGVPXJSvo0AVP4vLFc5b+0jtVFoarFJNBu
+xhbVuyC72YdqudNbncSlW6KG5SgeWIM//ThKfl95pOWRWvJEoKJhmDwbDqhZYtL5
+SECegnWGtGx/klFtZihzHYJE/nfSnhySDaz5lCvXFFYRhIbNmNm2Yq7ztCOsN4Ys
+3uN+GEdoXGvv1DFg/xZPvwCOhZGsSQfkl1jmUwVltgKrw9OCFbdfYz7H6dbGWhRu
+2XpuKxPXGavKfpSvssVQIZ6aWi5W6wp5lZAQQddZvYAv3Gi5CZZcUT7ayFJYdD23
+p9jz76G7MXm0f0uNT9B57T72QryokUIEIJYsCb6lNjWUQB4cd0+JesM7sHwweOQ3
+7iTFc+WgVJkP0e695mm1tcvtQHUPbIItYJUsndyLgGInzglxN8+F4U4k8uapydI9
+RmV2NVAifYp8z95Am5AnlG8lqjwrWk5bMbJH82QsQESrNT/h
+=8Vrn
+-----END PGP SIGNATURE-----
+'/>
+ </properties>
+ </artifact>
+ </artifacts>
+</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/content.xml
new file mode 100644
index 000000000..db8f67ba2
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/content.xml
@@ -0,0 +1,49 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?metadataRepository version='1.2.0'?>
+<repository name='file:/home/mistria/sandbox/repo/ - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
+ <properties size='2'>
+ <property name='p2.timestamp' value='1618433231272'/>
+ <property name='p2.compressed' value='false'/>
+ </properties>
+ <units size='2'>
+ <unit id='blah' version='1.0.0.123456' singleton='false'>
+ <update id='blah' range='[0.0.0,1.0.0.123456)' severity='0'/>
+ <provides size='4'>
+ <provided namespace='org.eclipse.equinox.p2.iu' name='blah' version='1.0.0.123456'/>
+ <provided namespace='osgi.bundle' name='blah' version='1.0.0.123456'/>
+ <provided namespace='osgi.identity' name='blah' version='1.0.0.123456'>
+ <properties size='1'>
+ <property name='type' value='osgi.bundle'/>
+ </properties>
+ </provided>
+ <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
+ </provides>
+ <artifacts size='1'>
+ <artifact classifier='osgi.bundle' id='blah' version='1.0.0.123456'/>
+ </artifacts>
+ <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
+ <touchpointData size='1'>
+ <instructions size='2'>
+ <instruction key='zipped'>
+ true
+ </instruction>
+ <instruction key='manifest'>
+ Bundle-SymbolicName: blah&#xA;Bundle-Version: 1.0.0.qualifier&#xA;
+ </instruction>
+ </instructions>
+ </touchpointData>
+ </unit>
+ <unit id='Category' version='0.0.0'>
+ <properties size='3'>
+ <property name='org.eclipse.equinox.p2.type.category' value='true'/>
+ </properties>
+ <provides size='1'>
+ <provided namespace='org.eclipse.equinox.p2.iu' name='Category' version='0.0.0'/>
+ </provides>
+ <requires size='1'>
+ <required namespace='org.eclipse.equinox.p2.iu' name='blah' range='[1.0.0.123456,1.0.0.123456]'/>
+ </requires>
+ <touchpoint id='null' version='0.0.0'/>
+ </unit>
+ </units>
+</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/plugins/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/plugins/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..b9fdcbf2f
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/plugins/META-INF/MANIFEST.MF
@@ -0,0 +1,4 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: blah
+Bundle-Version: 1.0.0.qualifier
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/plugins/blah_1.0.0.123456.jar b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/plugins/blah_1.0.0.123456.jar
new file mode 100644
index 000000000..9cc7b8da0
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/plugins/blah_1.0.0.123456.jar
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/plugins/blah_1.0.0.123456.jar.asc b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/plugins/blah_1.0.0.123456.jar.asc
new file mode 100644
index 000000000..1489f2552
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoMissingPublicKey/plugins/blah_1.0.0.123456.jar.asc
@@ -0,0 +1,14 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQHRBAABCAA7FiEE6ZbGcKp/ZUCb9dtWE5442Q3tEfAFAmB4Bf8dHHNpZ25lcjFA
+ZmFrZXVzZXIuZWNsaXBzZS5vcmcACgkQE5442Q3tEfBPuAwAhE4zA7BswKFhEtzm
+DS3EbyRr/U13sV01YxqGtxYDCfrOt8TGVPXJSvo0AVP4vLFc5b+0jtVFoarFJNBu
+xhbVuyC72YdqudNbncSlW6KG5SgeWIM//ThKfl95pOWRWvJEoKJhmDwbDqhZYtL5
+SECegnWGtGx/klFtZihzHYJE/nfSnhySDaz5lCvXFFYRhIbNmNm2Yq7ztCOsN4Ys
+3uN+GEdoXGvv1DFg/xZPvwCOhZGsSQfkl1jmUwVltgKrw9OCFbdfYz7H6dbGWhRu
+2XpuKxPXGavKfpSvssVQIZ6aWi5W6wp5lZAQQddZvYAv3Gi5CZZcUT7ayFJYdD23
+p9jz76G7MXm0f0uNT9B57T72QryokUIEIJYsCb6lNjWUQB4cd0+JesM7sHwweOQ3
+7iTFc+WgVJkP0e695mm1tcvtQHUPbIItYJUsndyLgGInzglxN8+F4U4k8uapydI9
+RmV2NVAifYp8z95Am5AnlG8lqjwrWk5bMbJH82QsQESrNT/h
+=8Vrn
+-----END PGP SIGNATURE-----
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/artifacts.xml
new file mode 100644
index 000000000..68b911bfa
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/artifacts.xml
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?artifactRepository version='1.1.0'?>
+<repository name='file:/home/mistria/sandbox/repo/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
+ <properties size='2'>
+ <property name='p2.timestamp' value='1618433231272'/>
+ <property name='p2.compressed' value='false'/>
+ </properties>
+ <mappings size='3'>
+ <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
+ <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
+ <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
+ </mappings>
+ <artifacts size='1'>
+ <artifact classifier='osgi.bundle' id='blah' version='1.0.0.123456'/>
+ </artifacts>
+</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/content.xml
new file mode 100644
index 000000000..db8f67ba2
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/content.xml
@@ -0,0 +1,49 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?metadataRepository version='1.2.0'?>
+<repository name='file:/home/mistria/sandbox/repo/ - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
+ <properties size='2'>
+ <property name='p2.timestamp' value='1618433231272'/>
+ <property name='p2.compressed' value='false'/>
+ </properties>
+ <units size='2'>
+ <unit id='blah' version='1.0.0.123456' singleton='false'>
+ <update id='blah' range='[0.0.0,1.0.0.123456)' severity='0'/>
+ <provides size='4'>
+ <provided namespace='org.eclipse.equinox.p2.iu' name='blah' version='1.0.0.123456'/>
+ <provided namespace='osgi.bundle' name='blah' version='1.0.0.123456'/>
+ <provided namespace='osgi.identity' name='blah' version='1.0.0.123456'>
+ <properties size='1'>
+ <property name='type' value='osgi.bundle'/>
+ </properties>
+ </provided>
+ <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
+ </provides>
+ <artifacts size='1'>
+ <artifact classifier='osgi.bundle' id='blah' version='1.0.0.123456'/>
+ </artifacts>
+ <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
+ <touchpointData size='1'>
+ <instructions size='2'>
+ <instruction key='zipped'>
+ true
+ </instruction>
+ <instruction key='manifest'>
+ Bundle-SymbolicName: blah&#xA;Bundle-Version: 1.0.0.qualifier&#xA;
+ </instruction>
+ </instructions>
+ </touchpointData>
+ </unit>
+ <unit id='Category' version='0.0.0'>
+ <properties size='3'>
+ <property name='org.eclipse.equinox.p2.type.category' value='true'/>
+ </properties>
+ <provides size='1'>
+ <provided namespace='org.eclipse.equinox.p2.iu' name='Category' version='0.0.0'/>
+ </provides>
+ <requires size='1'>
+ <required namespace='org.eclipse.equinox.p2.iu' name='blah' range='[1.0.0.123456,1.0.0.123456]'/>
+ </requires>
+ <touchpoint id='null' version='0.0.0'/>
+ </unit>
+ </units>
+</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/plugins/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/plugins/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..b9fdcbf2f
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/plugins/META-INF/MANIFEST.MF
@@ -0,0 +1,4 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: blah
+Bundle-Version: 1.0.0.qualifier
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/plugins/blah_1.0.0.123456.jar b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/plugins/blah_1.0.0.123456.jar
new file mode 100644
index 000000000..9cc7b8da0
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/plugins/blah_1.0.0.123456.jar
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/plugins/blah_1.0.0.123456.jar.asc b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/plugins/blah_1.0.0.123456.jar.asc
new file mode 100644
index 000000000..1489f2552
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoNoPGP/plugins/blah_1.0.0.123456.jar.asc
@@ -0,0 +1,14 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQHRBAABCAA7FiEE6ZbGcKp/ZUCb9dtWE5442Q3tEfAFAmB4Bf8dHHNpZ25lcjFA
+ZmFrZXVzZXIuZWNsaXBzZS5vcmcACgkQE5442Q3tEfBPuAwAhE4zA7BswKFhEtzm
+DS3EbyRr/U13sV01YxqGtxYDCfrOt8TGVPXJSvo0AVP4vLFc5b+0jtVFoarFJNBu
+xhbVuyC72YdqudNbncSlW6KG5SgeWIM//ThKfl95pOWRWvJEoKJhmDwbDqhZYtL5
+SECegnWGtGx/klFtZihzHYJE/nfSnhySDaz5lCvXFFYRhIbNmNm2Yq7ztCOsN4Ys
+3uN+GEdoXGvv1DFg/xZPvwCOhZGsSQfkl1jmUwVltgKrw9OCFbdfYz7H6dbGWhRu
+2XpuKxPXGavKfpSvssVQIZ6aWi5W6wp5lZAQQddZvYAv3Gi5CZZcUT7ayFJYdD23
+p9jz76G7MXm0f0uNT9B57T72QryokUIEIJYsCb6lNjWUQB4cd0+JesM7sHwweOQ3
+7iTFc+WgVJkP0e695mm1tcvtQHUPbIItYJUsndyLgGInzglxN8+F4U4k8uapydI9
+RmV2NVAifYp8z95Am5AnlG8lqjwrWk5bMbJH82QsQESrNT/h
+=8Vrn
+-----END PGP SIGNATURE-----
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/artifacts.xml
new file mode 100644
index 000000000..4ddbddbb3
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/artifacts.xml
@@ -0,0 +1,78 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?artifactRepository version='1.1.0'?>
+<repository name='file:/home/mistria/sandbox/repo/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
+ <properties size='3'>
+ <property name='p2.timestamp' value='1618433231272'/>
+ <property name='p2.compressed' value='false'/>
+ <!-- See PGPSignatureVerifierTest about this public key-->
+ <property name='pgp.publicKeys' value='-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQGNBGB1bugBDADQ5l7YnS9hNFRkBKSrvVNHt/TxeHaNNIHkdTC56I1QdThsOt4Y
+oQRI27AEOaY1GFEi6+QqwxALcMMMSTgkCRs2NFGqlWMVzNYE7bJMWChVa7uQ/9CG
+1HRbXwVwQx3hFgU4kmw1Kl/IH4LX76d9gAMyFANPjYZJSjbAv54wOlKruDRgpQFF
+pZeuXW7SnerL6sgd/+ZroikdkrjIs5t18C2ofzf6YnOokYkEEJSAEoQK5svVzT4G
+H3sw6FlE41RvnYKpuhvvyQhKjISDYfRaIL4JIpvR9Uko48eN9x654lJaucbMiLP4
+ROI9q7RQ6t1IMCiIN9QKgS+nVtHnN9MnXS0czGxfLdStv6bB+xgUoyBc7Uiqf4X0
+x8z9PE6O1L6Rgy2JMJHPgLWCF8h/u1FO88Br3I7TMzu2q/cg3k18L7eujnxVyYiD
+YIMxDBXBNnGCKRC4shgt8e+PzAPXIDFvbv7HOaERnx5c6eLl0tD12ocQeZHp1VlW
+nQteQ6CfvN07dNUAEQEAAbQ3RWNsaXBzZSBwMiB0ZXN0IFNpZ25lciAxIDxzaWdu
+ZXIxQGZha2V1c2VyLmVjbGlwc2Uub3JnPokB1AQTAQgAPhYhBOmWxnCqf2VAm/Xb
+VhOeONkN7RHwBQJgdW7oAhsDBQkDwmcABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheA
+AAoJEBOeONkN7RHwuXYL/Ri2gHoXELN79dWnuC5hjh7XgKquqlZg3qLgkLyA/54/
+ERx7HLLMHjU5tVIVacZ9UWb30Bzx6iVx2hMtL/0FFJ1S0iwwTDXft/9EoPvsmmEx
+VYEiSx5HxsPXM+XofMvi75nN34iMUIU3SgKLzHqlWcC3T7XjDWKC8TkTcutIAaIz
+BMRssktJR3OYzWbbwzgz83sVpofWGfxIW91H19Zr8rjIXiNyy1ulRnfsaz+xXeXf
+KxZZs00FtIIOeWBhCtsb8/8Uv3FRDK6+lX3xAqfMG67azJXpFafWJGiymypfSwi6
+JA866WOzw9DfbqWIlY/EMIhyZrsWnGiGhhAavwOiSWYV65ooFYooKHNmIekpvRZS
+wlGuwvnZr+2471urkCoG8Yz2Ey28Qjc0NgXlXAkqFUkO2gNPFsXkk1EC+vzO2llp
+qROS9pt25dEBcUSgfcjFOFWv2Z5IdmGjFEe46CJNEVzNgkP+97wJP7wpcOCSF/nn
+eOBj4b7Q0suJ+MsE/Fx6SbkBjQRgdW7oAQwAst4QGHd9w+V3UHgRMYZISfYApcAK
+2qBT1Zvf01QE38JUtDPKJarDlgxcaXuX6jOcbF60OMd59dhNmpaZYpocJZMgnESj
+0/Tn4cZfWwtOo1Pom8Lbg1zGKIYAaR2mTb8mkCwJwsZCUZCmh+zspacxdVRdmWmC
+XcFxFc/6gBKxcPFZf93JZaI33qsLpxyA57AJV5ck/TY1iFmA6HFxehamsAVdd56g
+uyORekJJlZHXE9pICVEGqVUfdbSQXEiS386kZDftXe36phdj1gtFsRLHoBI8+L7o
+2vrdnj1UZgtvxBbJJ+QAfhF8+f84RFIi9CTY8cheX+YfDMEdg9J9LG54X5P3O1ZX
+eEvudKk/hqWBf+2rrdkhdFyyGRK0yTrO+PQ+tZHhcHPqfo4EiVktC4BTpB6QtLBY
+NAGYMRddmZMgp4lE2xGib8SYwonct3y1fmB+x67lq65IFVM/IAwN6BuMXtgb+Zkm
+iT+eKgc1pK4uCsZJbQAlPzkDGQV69GNyjlphABEBAAGJAbwEGAEIACYWIQTplsZw
+qn9lQJv121YTnjjZDe0R8AUCYHVu6AIbDAUJA8JnAAAKCRATnjjZDe0R8Oe8DADQ
+CTBXxrmTJTSZUeKVo0C1kDHQaaV+RiRmquYR3WxFI6ugJFFWpzgG9V8Q7vYGeZFM
+HYM/tDuY/gdMwHBcR13yYyozslar7qas4LL/bYgOqq+SiSGTDEBW+00+5Wlwmlrv
+ubLc6ow9q2sTmOprq3Q7fei+sEANVnymBxnVV/ZIVGPpm/Rkh1JFGT/8SEyKkCut
+G23JMM/06cIhZwdD6aWSZK4EFw0lwfXyr8l3ZqH0WydVEef1DUNIRM48O0YdwS9u
+jd5iKKKJlb4XxwGi6IKSzpXF7pFrm6vqS306u3Fnak5hb2gs8dpnNo7UL1gUm5pr
+8vJ3xhg15KCjYKz8k6ZDsIWULTXUJ23i8ZwqyQaj1bajwN0+/MfC0ZkoQtQ2I/TH
+cKLSMOR+Tji6n7FjOcVl6VoDKTjdxj9OgAlbZ7W9jEArrUjDdCk/m4jq9h9phpli
+BHoul/nauwtlUnQes1V+39Rk9l7gddKWg3dlwg6CjB5MkmcaeyxgANcyKgrunpg=
+=JYpC
+-----END PGP PUBLIC KEY BLOCK-----
+'/>
+ </properties>
+ <mappings size='3'>
+ <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
+ <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
+ <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
+ </mappings>
+ <artifacts size='1'>
+ <artifact classifier='osgi.bundle' id='blah' version='1.0.0.123456'>
+ <properties size='1'>
+ <!-- gpg -u signer1@fakeuser.eclipse.org -a -detach-sig plugins/blah_1.0.0.123456.jar -->
+ <property name='pgp.signatures' value='-----BEGIN PGP SIGNATURE-----
+
+iQHRBAABCAA7FiEE6ZbGcKp/ZUCb9dtWE5442Q3tEfAFAmB4Bf8dHHNpZ25lcjFA
+ZmFrZXVzZXIuZWNsaXBzZS5vcmcACgkQE5442Q3tEfBPuAwAhE4zA7BswKFhEtzm
+DS3EbyRr/U13sV01YxqGtxYDCfrOt8TGVPXJSvo0AVP4vLFc5b+0jtVFoarFJNBu
+xhbVuyC72YdqudNbncSlW6KG5SgeWIM//ThKfl95pOWRWvJEoKJhmDwbDqhZYtL5
+SECegnWGtGx/klFtZihzHYJE/nfSnhySDaz5lCvXFFYRhIbNmNm2Yq7ztCOsN4Ys
+3uN+GEdoXGvv1DFg/xZPvwCOhZGsSQfkl1jmUwVltgKrw9OCFbdfYz7H6dbGWhRu
+2XpuKxPXGavKfpSvssVQIZ6aWi5W6wp5lZAQQddZvYAv3Gi5CZZcUT7ayFJYdD23
+p9jz76G7MXm0f0uNT9B57T72QryokUIEIJYsCb6lNjWUQB4cd0+JesM7sHwweOQ3
+7iTFc+WgVJkP0e695mm1tcvtQHUPbIItYJUsndyLgGInzglxN8+F4U4k8uapydI9
+RmV2NVAifYp8z95Am5AnlG8lqjwrWk5bMbJH82QsQESrNT/h
+=8Vrn
+-----END PGP SIGNATURE-----
+'/>
+ </properties>
+ </artifact>
+ </artifacts>
+</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/content.xml
new file mode 100644
index 000000000..db8f67ba2
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/content.xml
@@ -0,0 +1,49 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?metadataRepository version='1.2.0'?>
+<repository name='file:/home/mistria/sandbox/repo/ - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
+ <properties size='2'>
+ <property name='p2.timestamp' value='1618433231272'/>
+ <property name='p2.compressed' value='false'/>
+ </properties>
+ <units size='2'>
+ <unit id='blah' version='1.0.0.123456' singleton='false'>
+ <update id='blah' range='[0.0.0,1.0.0.123456)' severity='0'/>
+ <provides size='4'>
+ <provided namespace='org.eclipse.equinox.p2.iu' name='blah' version='1.0.0.123456'/>
+ <provided namespace='osgi.bundle' name='blah' version='1.0.0.123456'/>
+ <provided namespace='osgi.identity' name='blah' version='1.0.0.123456'>
+ <properties size='1'>
+ <property name='type' value='osgi.bundle'/>
+ </properties>
+ </provided>
+ <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
+ </provides>
+ <artifacts size='1'>
+ <artifact classifier='osgi.bundle' id='blah' version='1.0.0.123456'/>
+ </artifacts>
+ <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
+ <touchpointData size='1'>
+ <instructions size='2'>
+ <instruction key='zipped'>
+ true
+ </instruction>
+ <instruction key='manifest'>
+ Bundle-SymbolicName: blah&#xA;Bundle-Version: 1.0.0.qualifier&#xA;
+ </instruction>
+ </instructions>
+ </touchpointData>
+ </unit>
+ <unit id='Category' version='0.0.0'>
+ <properties size='3'>
+ <property name='org.eclipse.equinox.p2.type.category' value='true'/>
+ </properties>
+ <provides size='1'>
+ <provided namespace='org.eclipse.equinox.p2.iu' name='Category' version='0.0.0'/>
+ </provides>
+ <requires size='1'>
+ <required namespace='org.eclipse.equinox.p2.iu' name='blah' range='[1.0.0.123456,1.0.0.123456]'/>
+ </requires>
+ <touchpoint id='null' version='0.0.0'/>
+ </unit>
+ </units>
+</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/plugins/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/plugins/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..b9fdcbf2f
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/plugins/META-INF/MANIFEST.MF
@@ -0,0 +1,4 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: blah
+Bundle-Version: 1.0.0.qualifier
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/plugins/blah_1.0.0.123456.jar b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/plugins/blah_1.0.0.123456.jar
new file mode 100644
index 000000000..9cc7b8da0
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/plugins/blah_1.0.0.123456.jar
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/plugins/blah_1.0.0.123456.jar.asc b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/plugins/blah_1.0.0.123456.jar.asc
new file mode 100644
index 000000000..1489f2552
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoPGPOK/plugins/blah_1.0.0.123456.jar.asc
@@ -0,0 +1,14 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQHRBAABCAA7FiEE6ZbGcKp/ZUCb9dtWE5442Q3tEfAFAmB4Bf8dHHNpZ25lcjFA
+ZmFrZXVzZXIuZWNsaXBzZS5vcmcACgkQE5442Q3tEfBPuAwAhE4zA7BswKFhEtzm
+DS3EbyRr/U13sV01YxqGtxYDCfrOt8TGVPXJSvo0AVP4vLFc5b+0jtVFoarFJNBu
+xhbVuyC72YdqudNbncSlW6KG5SgeWIM//ThKfl95pOWRWvJEoKJhmDwbDqhZYtL5
+SECegnWGtGx/klFtZihzHYJE/nfSnhySDaz5lCvXFFYRhIbNmNm2Yq7ztCOsN4Ys
+3uN+GEdoXGvv1DFg/xZPvwCOhZGsSQfkl1jmUwVltgKrw9OCFbdfYz7H6dbGWhRu
+2XpuKxPXGavKfpSvssVQIZ6aWi5W6wp5lZAQQddZvYAv3Gi5CZZcUT7ayFJYdD23
+p9jz76G7MXm0f0uNT9B57T72QryokUIEIJYsCb6lNjWUQB4cd0+JesM7sHwweOQ3
+7iTFc+WgVJkP0e695mm1tcvtQHUPbIItYJUsndyLgGInzglxN8+F4U4k8uapydI9
+RmV2NVAifYp8z95Am5AnlG8lqjwrWk5bMbJH82QsQESrNT/h
+=8Vrn
+-----END PGP SIGNATURE-----
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/artifacts.xml
new file mode 100644
index 000000000..67aec85fb
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/artifacts.xml
@@ -0,0 +1,78 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?artifactRepository version='1.1.0'?>
+<repository name='file:/home/mistria/sandbox/repo/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
+ <properties size='3'>
+ <property name='p2.timestamp' value='1618433231272'/>
+ <property name='p2.compressed' value='false'/>
+ <!-- See PGPSignatureVerifierTest about this public key-->
+ <property name='pgp.publicKeys' value='-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQGNBGB1bugBDADQ5l7YnS9hNFRkBKSrvVNHt/TxeHaNNIHkdTC56I1QdThsOt4Y
+oQRI27AEOaY1GFEi6+QqwxALcMMMSTgkCRs2NFGqlWMVzNYE7bJMWChVa7uQ/9CG
+1HRbXwVwQx3hFgU4kmw1Kl/IH4LX76d9gAMyFANPjYZJSjbAv54wOlKruDRgpQFF
+pZeuXW7SnerL6sgd/+ZroikdkrjIs5t18C2ofzf6YnOokYkEEJSAEoQK5svVzT4G
+H3sw6FlE41RvnYKpuhvvyQhKjISDYfRaIL4JIpvR9Uko48eN9x654lJaucbMiLP4
+ROI9q7RQ6t1IMCiIN9QKgS+nVtHnN9MnXS0czGxfLdStv6bB+xgUoyBc7Uiqf4X0
+x8z9PE6O1L6Rgy2JMJHPgLWCF8h/u1FO88Br3I7TMzu2q/cg3k18L7eujnxVyYiD
+YIMxDBXBNnGCKRC4shgt8e+PzAPXIDFvbv7HOaERnx5c6eLl0tD12ocQeZHp1VlW
+nQteQ6CfvN07dNUAEQEAAbQ3RWNsaXBzZSBwMiB0ZXN0IFNpZ25lciAxIDxzaWdu
+ZXIxQGZha2V1c2VyLmVjbGlwc2Uub3JnPokB1AQTAQgAPhYhBOmWxnCqf2VAm/Xb
+VhOeONkN7RHwBQJgdW7oAhsDBQkDwmcABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheA
+AAoJEBOeONkN7RHwuXYL/Ri2gHoXELN79dWnuC5hjh7XgKquqlZg3qLgkLyA/54/
+ERx7HLLMHjU5tVIVacZ9UWb30Bzx6iVx2hMtL/0FFJ1S0iwwTDXft/9EoPvsmmEx
+VYEiSx5HxsPXM+XofMvi75nN34iMUIU3SgKLzHqlWcC3T7XjDWKC8TkTcutIAaIz
+BMRssktJR3OYzWbbwzgz83sVpofWGfxIW91H19Zr8rjIXiNyy1ulRnfsaz+xXeXf
+KxZZs00FtIIOeWBhCtsb8/8Uv3FRDK6+lX3xAqfMG67azJXpFafWJGiymypfSwi6
+JA866WOzw9DfbqWIlY/EMIhyZrsWnGiGhhAavwOiSWYV65ooFYooKHNmIekpvRZS
+wlGuwvnZr+2471urkCoG8Yz2Ey28Qjc0NgXlXAkqFUkO2gNPFsXkk1EC+vzO2llp
+qROS9pt25dEBcUSgfcjFOFWv2Z5IdmGjFEe46CJNEVzNgkP+97wJP7wpcOCSF/nn
+eOBj4b7Q0suJ+MsE/Fx6SbkBjQRgdW7oAQwAst4QGHd9w+V3UHgRMYZISfYApcAK
+2qBT1Zvf01QE38JUtDPKJarDlgxcaXuX6jOcbF60OMd59dhNmpaZYpocJZMgnESj
+0/Tn4cZfWwtOo1Pom8Lbg1zGKIYAaR2mTb8mkCwJwsZCUZCmh+zspacxdVRdmWmC
+XcFxFc/6gBKxcPFZf93JZaI33qsLpxyA57AJV5ck/TY1iFmA6HFxehamsAVdd56g
+uyORekJJlZHXE9pICVEGqVUfdbSQXEiS386kZDftXe36phdj1gtFsRLHoBI8+L7o
+2vrdnj1UZgtvxBbJJ+QAfhF8+f84RFIi9CTY8cheX+YfDMEdg9J9LG54X5P3O1ZX
+eEvudKk/hqWBf+2rrdkhdFyyGRK0yTrO+PQ+tZHhcHPqfo4EiVktC4BTpB6QtLBY
+NAGYMRddmZMgp4lE2xGib8SYwonct3y1fmB+x67lq65IFVM/IAwN6BuMXtgb+Zkm
+iT+eKgc1pK4uCsZJbQAlPzkDGQV69GNyjlphABEBAAGJAbwEGAEIACYWIQTplsZw
+qn9lQJv121YTnjjZDe0R8AUCYHVu6AIbDAUJA8JnAAAKCRATnjjZDe0R8Oe8DADQ
+CTBXxrmTJTSZUeKVo0C1kDHQaaV+RiRmquYR3WxFI6ugJFFWpzgG9V8Q7vYGeZFM
+HYM/tDuY/gdMwHBcR13yYyozslar7qas4LL/bYgOqq+SiSGTDEBW+00+5Wlwmlrv
+ubLc6ow9q2sTmOprq3Q7fei+sEANVnymBxnVV/ZIVGPpm/Rkh1JFGT/8SEyKkCut
+G23JMM/06cIhZwdD6aWSZK4EFw0lwfXyr8l3ZqH0WydVEef1DUNIRM48O0YdwS9u
+jd5iKKKJlb4XxwGi6IKSzpXF7pFrm6vqS306u3Fnak5hb2gs8dpnNo7UL1gUm5pr
+8vJ3xhg15KCjYKz8k6ZDsIWULTXUJ23i8ZwqyQaj1bajwN0+/MfC0ZkoQtQ2I/TH
+cKLSMOR+Tji6n7FjOcVl6VoDKTjdxj9OgAlbZ7W9jEArrUjDdCk/m4jq9h9phpli
+BHoul/nauwtlUnQes1V+39Rk9l7gddKWg3dlwg6CjB5MkmcaeyxgANcyKgrunpg=
+=JYpC
+-----END PGP PUBLIC KEY BLOCK-----
+'/>
+ </properties>
+ <mappings size='3'>
+ <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
+ <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
+ <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
+ </mappings>
+ <artifacts size='1'>
+ <artifact classifier='osgi.bundle' id='blah' version='1.0.0.123456'>
+ <properties size='1'>
+ <!-- gpg -u signer1@fakeuser.eclipse.org -a -detach-sig plugins/blah_1.0.0.123456.jar -->
+ <property name='pgp.signatures' value='-----BEGIN PGP SIGNATURE-----
+
+iQHRBAABCAA7FiEE6ZbGcKp/ZUCb9dtWE5442Q3tEfAFAmB1+EodHHNpZ25lcjFA
+ZmFrZXVzZXIuZWNsaXBzZS5vcmcACgkQE5442Q3tEfD5LAwAyPl8TBsC0bYZAsRX
+BSGXjlJ+oBKci5VH6bgM/ldnZD5SsYv6PVoxxdOJA2R6S88xxd0DuWivYuG+9aiZ
+w98hx6g0vNH8AWL+yd+l+2yIS8i/MJ57MCvVztexq935fIYU5KGdUNNEjDIrGHQQ
+AR5QWfTiy9EGracG4W6F9twmMOfDlCJ3eRCetp5OTvqBzS2gLom8ECaw7tezYvA/
+09Ok88j7vMI5kL3FO3WzzR+obeYUc19F6602h4cEJs/yOTOj/gz6GCXsAnuYQs1L
+yhjv4Cp4sBnMw+zPX0jFeNHu35mPt8oOFz1NLN85GHO7v3FFXmtwxj8bVBWBQR3R
+Vfi+n8SfR3WO5pYpsqPHZgP95K+W53ere1BZd67cT6uuJDtoDWC6TYPjndm5tnN1
++AzDQO12cC4w2cgIt3ElNYK0T8ADvrmCMPZPRPJ+GeZb0jb871SLDU1MPGZ9NHUl
+hiuiOU3vTN/X/SbZM/Zcz2eahRAOBOc8sXzqcbjQHN/Akzbg
+=acJE
+-----END PGP SIGNATURE-----
+'/>
+ </properties>
+ </artifact>
+ </artifacts>
+</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/content.xml
new file mode 100644
index 000000000..db8f67ba2
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/content.xml
@@ -0,0 +1,49 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?metadataRepository version='1.2.0'?>
+<repository name='file:/home/mistria/sandbox/repo/ - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
+ <properties size='2'>
+ <property name='p2.timestamp' value='1618433231272'/>
+ <property name='p2.compressed' value='false'/>
+ </properties>
+ <units size='2'>
+ <unit id='blah' version='1.0.0.123456' singleton='false'>
+ <update id='blah' range='[0.0.0,1.0.0.123456)' severity='0'/>
+ <provides size='4'>
+ <provided namespace='org.eclipse.equinox.p2.iu' name='blah' version='1.0.0.123456'/>
+ <provided namespace='osgi.bundle' name='blah' version='1.0.0.123456'/>
+ <provided namespace='osgi.identity' name='blah' version='1.0.0.123456'>
+ <properties size='1'>
+ <property name='type' value='osgi.bundle'/>
+ </properties>
+ </provided>
+ <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
+ </provides>
+ <artifacts size='1'>
+ <artifact classifier='osgi.bundle' id='blah' version='1.0.0.123456'/>
+ </artifacts>
+ <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
+ <touchpointData size='1'>
+ <instructions size='2'>
+ <instruction key='zipped'>
+ true
+ </instruction>
+ <instruction key='manifest'>
+ Bundle-SymbolicName: blah&#xA;Bundle-Version: 1.0.0.qualifier&#xA;
+ </instruction>
+ </instructions>
+ </touchpointData>
+ </unit>
+ <unit id='Category' version='0.0.0'>
+ <properties size='3'>
+ <property name='org.eclipse.equinox.p2.type.category' value='true'/>
+ </properties>
+ <provides size='1'>
+ <provided namespace='org.eclipse.equinox.p2.iu' name='Category' version='0.0.0'/>
+ </provides>
+ <requires size='1'>
+ <required namespace='org.eclipse.equinox.p2.iu' name='blah' range='[1.0.0.123456,1.0.0.123456]'/>
+ </requires>
+ <touchpoint id='null' version='0.0.0'/>
+ </unit>
+ </units>
+</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/plugins/META-INF/MANIFEST.MF b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/plugins/META-INF/MANIFEST.MF
new file mode 100644
index 000000000..b9fdcbf2f
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/plugins/META-INF/MANIFEST.MF
@@ -0,0 +1,4 @@
+Manifest-Version: 1.0
+Bundle-ManifestVersion: 2
+Bundle-SymbolicName: blah
+Bundle-Version: 1.0.0.qualifier
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/plugins/blah_1.0.0.123456.jar b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/plugins/blah_1.0.0.123456.jar
new file mode 100644
index 000000000..9cc7b8da0
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/plugins/blah_1.0.0.123456.jar
Binary files differ
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/plugins/blah_1.0.0.123456.jar.asc b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/plugins/blah_1.0.0.123456.jar.asc
new file mode 100644
index 000000000..1489f2552
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoSignatureDoesntMatchContent/plugins/blah_1.0.0.123456.jar.asc
@@ -0,0 +1,14 @@
+-----BEGIN PGP SIGNATURE-----
+
+iQHRBAABCAA7FiEE6ZbGcKp/ZUCb9dtWE5442Q3tEfAFAmB4Bf8dHHNpZ25lcjFA
+ZmFrZXVzZXIuZWNsaXBzZS5vcmcACgkQE5442Q3tEfBPuAwAhE4zA7BswKFhEtzm
+DS3EbyRr/U13sV01YxqGtxYDCfrOt8TGVPXJSvo0AVP4vLFc5b+0jtVFoarFJNBu
+xhbVuyC72YdqudNbncSlW6KG5SgeWIM//ThKfl95pOWRWvJEoKJhmDwbDqhZYtL5
+SECegnWGtGx/klFtZihzHYJE/nfSnhySDaz5lCvXFFYRhIbNmNm2Yq7ztCOsN4Ys
+3uN+GEdoXGvv1DFg/xZPvwCOhZGsSQfkl1jmUwVltgKrw9OCFbdfYz7H6dbGWhRu
+2XpuKxPXGavKfpSvssVQIZ6aWi5W6wp5lZAQQddZvYAv3Gi5CZZcUT7ayFJYdD23
+p9jz76G7MXm0f0uNT9B57T72QryokUIEIJYsCb6lNjWUQB4cd0+JesM7sHwweOQ3
+7iTFc+WgVJkP0e695mm1tcvtQHUPbIItYJUsndyLgGInzglxN8+F4U4k8uapydI9
+RmV2NVAifYp8z95Am5AnlG8lqjwrWk5bMbJH82QsQESrNT/h
+=8Vrn
+-----END PGP SIGNATURE-----
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoTamperedInvalidSignature/artifacts.xml b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoTamperedInvalidSignature/artifacts.xml
new file mode 100644
index 000000000..0d7b0204e
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoTamperedInvalidSignature/artifacts.xml
@@ -0,0 +1,78 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?artifactRepository version='1.1.0'?>
+<repository name='file:/home/mistria/sandbox/repo/ - artifacts' type='org.eclipse.equinox.p2.artifact.repository.simpleRepository' version='1'>
+ <properties size='3'>
+ <property name='p2.timestamp' value='1618433231272'/>
+ <property name='p2.compressed' value='false'/>
+ <!-- See PGPSignatureVerifierTest about this public key-->
+ <property name='pgp.publicKeys' value='-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQGNBGB1bugBDADQ5l7YnS9hNFRkBKSrvVNHt/TxeHaNNIHkdTC56I1QdThsOt4Y
+oQRI27AEOaY1GFEi6+QqwxALcMMMSTgkCRs2NFGqlWMVzNYE7bJMWChVa7uQ/9CG
+1HRbXwVwQx3hFgU4kmw1Kl/IH4LX76d9gAMyFANPjYZJSjbAv54wOlKruDRgpQFF
+pZeuXW7SnerL6sgd/+ZroikdkrjIs5t18C2ofzf6YnOokYkEEJSAEoQK5svVzT4G
+H3sw6FlE41RvnYKpuhvvyQhKjISDYfRaIL4JIpvR9Uko48eN9x654lJaucbMiLP4
+ROI9q7RQ6t1IMCiIN9QKgS+nVtHnN9MnXS0czGxfLdStv6bB+xgUoyBc7Uiqf4X0
+x8z9PE6O1L6Rgy2JMJHPgLWCF8h/u1FO88Br3I7TMzu2q/cg3k18L7eujnxVyYiD
+YIMxDBXBNnGCKRC4shgt8e+PzAPXIDFvbv7HOaERnx5c6eLl0tD12ocQeZHp1VlW
+nQteQ6CfvN07dNUAEQEAAbQ3RWNsaXBzZSBwMiB0ZXN0IFNpZ25lciAxIDxzaWdu
+ZXIxQGZha2V1c2VyLmVjbGlwc2Uub3JnPokB1AQTAQgAPhYhBOmWxnCqf2VAm/Xb
+VhOeONkN7RHwBQJgdW7oAhsDBQkDwmcABQsJCAcCBhUKCQgLAgQWAgMBAh4BAheA
+AAoJEBOeONkN7RHwuXYL/Ri2gHoXELN79dWnuC5hjh7XgKquqlZg3qLgkLyA/54/
+ERx7HLLMHjU5tVIVacZ9UWb30Bzx6iVx2hMtL/0FFJ1S0iwwTDXft/9EoPvsmmEx
+VYEiSx5HxsPXM+XofMvi75nN34iMUIU3SgKLzHqlWcC3T7XjDWKC8TkTcutIAaIz
+BMRssktJR3OYzWbbwzgz83sVpofWGfxIW91H19Zr8rjIXiNyy1ulRnfsaz+xXeXf
+KxZZs00FtIIOeWBhCtsb8/8Uv3FRDK6+lX3xAqfMG67azJXpFafWJGiymypfSwi6
+JA866WOzw9DfbqWIlY/EMIhyZrsWnGiGhhAavwOiSWYV65ooFYooKHNmIekpvRZS
+wlGuwvnZr+2471urkCoG8Yz2Ey28Qjc0NgXlXAkqFUkO2gNPFsXkk1EC+vzO2llp
+qROS9pt25dEBcUSgfcjFOFWv2Z5IdmGjFEe46CJNEVzNgkP+97wJP7wpcOCSF/nn
+eOBj4b7Q0suJ+MsE/Fx6SbkBjQRgdW7oAQwAst4QGHd9w+V3UHgRMYZISfYApcAK
+2qBT1Zvf01QE38JUtDPKJarDlgxcaXuX6jOcbF60OMd59dhNmpaZYpocJZMgnESj
+0/Tn4cZfWwtOo1Pom8Lbg1zGKIYAaR2mTb8mkCwJwsZCUZCmh+zspacxdVRdmWmC
+XcFxFc/6gBKxcPFZf93JZaI33qsLpxyA57AJV5ck/TY1iFmA6HFxehamsAVdd56g
+uyORekJJlZHXE9pICVEGqVUfdbSQXEiS386kZDftXe36phdj1gtFsRLHoBI8+L7o
+2vrdnj1UZgtvxBbJJ+QAfhF8+f84RFIi9CTY8cheX+YfDMEdg9J9LG54X5P3O1ZX
+eEvudKk/hqWBf+2rrdkhdFyyGRK0yTrO+PQ+tZHhcHPqfo4EiVktC4BTpB6QtLBY
+NAGYMRddmZMgp4lE2xGib8SYwonct3y1fmB+x67lq65IFVM/IAwN6BuMXtgb+Zkm
+iT+eKgc1pK4uCsZJbQAlPzkDGQV69GNyjlphABEBAAGJAbwEGAEIACYWIQTplsZw
+qn9lQJv121YTnjjZDe0R8AUCYHVu6AIbDAUJA8JnAAAKCRATnjjZDe0R8Oe8DADQ
+CTBXxrmTJTSZUeKVo0C1kDHQaaV+RiRmquYR3WxFI6ugJFFWpzgG9V8Q7vYGeZFM
+HYM/tDuY/gdMwHBcR13yYyozslar7qas4LL/bYgOqq+SiSGTDEBW+00+5Wlwmlrv
+ubLc6ow9q2sTmOprq3Q7fei+sEANVnymBxnVV/ZIVGPpm/Rkh1JFGT/8SEyKkCut
+G23JMM/06cIhZwdD6aWSZK4EFw0lwfXyr8l3ZqH0WydVEef1DUNIRM48O0YdwS9u
+jd5iKKKJlb4XxwGi6IKSzpXF7pFrm6vqS306u3Fnak5hb2gs8dpnNo7UL1gUm5pr
+8vJ3xhg15KCjYKz8k6ZDsIWULTXUJ23i8ZwqyQaj1bajwN0+/MfC0ZkoQtQ2I/TH
+cKLSMOR+Tji6n7FjOcVl6VoDKTjdxj9OgAlbZ7W9jEArrUjDdCk/m4jq9h9phpli
+BHoul/nauwtlUnQes1V+39Rk9l7gddKWg3dlwg6CjB5MkmcaeyxgANcyKgrunpg=
+=JYpC
+-----END PGP PUBLIC KEY BLOCK-----
+'/>
+ </properties>
+ <mappings size='3'>
+ <rule filter='(&amp; (classifier=osgi.bundle))' output='${repoUrl}/plugins/${id}_${version}.jar'/>
+ <rule filter='(&amp; (classifier=binary))' output='${repoUrl}/binary/${id}_${version}'/>
+ <rule filter='(&amp; (classifier=org.eclipse.update.feature))' output='${repoUrl}/features/${id}_${version}.jar'/>
+ </mappings>
+ <artifacts size='1'>
+ <artifact classifier='osgi.bundle' id='blah' version='1.0.0.123456'>
+ <properties size='1'>
+ <!-- gpg -u signer1@fakeuser.eclipse.org -a -detach-sig plugins/blah_1.0.0.123456.jar -->
+ <property name='pgp.signatures' value='-----BEGIN PGP SIGNATURE-----
+
+iQHRBAABCAA7FiEE6ZbGcKp/ZUCb9dtWE5442Q3tEfAFAmB4Bf8dHHNpZ25lcjFA
+ZmFrZXVzZXIuZWNsaXBzZS5vcmcACgkQE5442Q3tEfBPuAwAhE4zA7BswKFhEtzm
+DS3EbyRr/U13sV01YxqGtxYDCfrOt8TGVPXJSvo0AVP4vLFc5b+0jtVFoarFJNBu
+xhbVuyC72YdqudNbncSlW6KG5SgeWIM//ThKfl95pOWRWvJEoKJhmDwbDqhZYtL5
+SECegnWG____TAMPERED_____________________________________COsN4Ys
+3uN+GEdoXGvv1DFg/xZPvwCOhZGsSQfkl1jmUwVltgKrw9OCFbdfYz7H6dbGWhRu
+2XpuKxPXGavKfpSvssVQIZ6aWi5W6wp5lZAQQddZvYAv3Gi5CZZcUT7ayFJYdD23
+p9jz76G7MXm0f0uNT9B57T72QryokUIEIJYsCb6lNjWUQB4cd0+JesM7sHwweOQ3
+7iTFc+WgVJkP0e695mm1tcvtQHUPbIItYJUsndyLgGInzglxN8+F4U4k8uapydI9
+RmV2NVAifYp8z95Am5AnlG8lqjwrWk5bMbJH82QsQESrNT/h
+=8Vrn
+-----END PGP SIGNATURE-----
+'/>
+ </properties>
+ </artifact>
+ </artifacts>
+</repository>
diff --git a/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoTamperedInvalidSignature/content.xml b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoTamperedInvalidSignature/content.xml
new file mode 100644
index 000000000..db8f67ba2
--- /dev/null
+++ b/bundles/org.eclipse.equinox.p2.tests/testData/pgp/repoTamperedInvalidSignature/content.xml
@@ -0,0 +1,49 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<?metadataRepository version='1.2.0'?>
+<repository name='file:/home/mistria/sandbox/repo/ - metadata' type='org.eclipse.equinox.internal.p2.metadata.repository.LocalMetadataRepository' version='1'>
+ <properties size='2'>
+ <property name='p2.timestamp' value='1618433231272'/>
+ <property name='p2.compressed' value='false'/>
+ </properties>
+ <units size='2'>
+ <unit id='blah' version='1.0.0.123456' singleton='false'>
+ <update id='blah' range='[0.0.0,1.0.0.123456)' severity='0'/>
+ <provides size='4'>
+ <provided namespace='org.eclipse.equinox.p2.iu' name='blah' version='1.0.0.123456'/>
+ <provided namespace='osgi.bundle' name='blah' version='1.0.0.123456'/>
+ <provided namespace='osgi.identity' name='blah' version='1.0.0.123456'>
+ <properties size='1'>
+ <property name='type' value='osgi.bundle'/>
+ </properties>
+ </provided>
+ <provided namespace='org.eclipse.equinox.p2.eclipse.type' name='bundle' version='1.0.0'/>
+ </provides>
+ <artifacts size='1'>
+ <artifact classifier='osgi.bundle' id='blah' version='1.0.0.123456'/>
+ </artifacts>
+ <touchpoint id='org.eclipse.equinox.p2.osgi' version='1.0.0'/>
+ <touchpointData size='1'>
+ <instructions size='2'>
+ <instruction key='zipped'>
+ true
+ </instruction>
+ <instruction key='manifest'>
+ Bundle-SymbolicName: blah&#xA;Bundle-Version: 1.0.0.qualifier&#xA;
+ </instruction>
+ </instructions>
+ </touchpointData>
+ </unit>
+ <unit id='Category' version='0.0.0'>
+ <properties size='3'>
+ <property name='org.eclipse.equinox.p2.type.category' value='true'/>
+ </properties>
+ <provides size='1'>
+ <provided namespace='org.eclipse.equinox.p2.iu' name='Category' version='0.0.0'/>
+ </provides>
+ <requires size='1'>
+ <required namespace='org.eclipse.equinox.p2.iu' name='blah' range='[1.0.0.123456,1.0.0.123456]'/>
+ </requires>
+ <touchpoint id='null' version='0.0.0'/>
+ </unit><