Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add testcase to reproduce failing behavior #3020

Merged
merged 2 commits into from
Nov 9, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -273,6 +273,32 @@ private Map<String, String> computeOutputJars(IProject project) throws CoreExcep
for (String token : entry.getTokens()) {
outputJars.put(token, key);
}
} else if (name.startsWith(IBuildEntry.JAR_PREFIX)) {
// Actually each source.<jar> should have a corresponding output.<jar> but there
// are some cases where this is not true... lets cheat and look at the
// classpath instead...
String key = name.substring(IBuildEntry.JAR_PREFIX.length());
IJavaProject javaProject = JavaCore.create(project);
if (javaProject != null) {
IClasspathEntry[] rawClasspath = javaProject.getRawClasspath();
for (String token : entry.getTokens()) {
IPath srcPath = project.getFolder(token).getFullPath();
for (IClasspathEntry classpathEntry : rawClasspath) {
if (classpathEntry.getEntryKind() == IClasspathEntry.CPE_SOURCE) {
IPath path = classpathEntry.getPath();
if (srcPath.equals(path)) {
IPath outputLocation = classpathEntry.getOutputLocation();
if (outputLocation == null) {
outputLocation = javaProject.getOutputLocation();
}
IFolder folder = getProjectFolder(outputLocation);
String output = folder.getProjectRelativePath().toString();
outputJars.putIfAbsent(output, key);
}
}
}
}
}
}
}
}
Expand Down
7 changes: 7 additions & 0 deletions tycho-its/projects/api-tools/missing-bin/.mvn/extensions.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<extensions>
<extension>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-build</artifactId>
<version>${tycho-version}</version>
</extension>
</extensions>
1 change: 1 addition & 0 deletions tycho-its/projects/api-tools/missing-bin/.mvn/maven.config
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
-Dtycho-version=5.0.0-SNAPSHOT
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
<?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-17"/>
<classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="output" path="bin"/>
</classpath>
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>org.eclipse.equinox.p2.ui</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.api.tools.apiAnalysisBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ds.core.builder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>org.eclipse.pde.api.tools.apiAnalysisNature</nature>
</natures>
</projectDescription>

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
eclipse.preferences.version=1
editor_save_participant_org.eclipse.jdt.ui.postsavelistener.cleanup=true
formatter_profile=org.eclipse.jdt.ui.default.eclipse_profile
formatter_settings_version=16
org.eclipse.jdt.ui.ignorelowercasenames=true
org.eclipse.jdt.ui.importorder=;
org.eclipse.jdt.ui.ondemandthreshold=3
org.eclipse.jdt.ui.staticondemandthreshold=3
org.eclipse.jdt.ui.text.custom_code_templates=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?><templates/>
sp_cleanup.add_default_serial_version_id=true
sp_cleanup.add_generated_serial_version_id=false
sp_cleanup.add_missing_annotations=true
sp_cleanup.add_missing_deprecated_annotations=true
sp_cleanup.add_missing_methods=false
sp_cleanup.add_missing_nls_tags=false
sp_cleanup.add_missing_override_annotations=true
sp_cleanup.add_missing_override_annotations_interface_methods=true
sp_cleanup.add_serial_version_id=false
sp_cleanup.always_use_blocks=true
sp_cleanup.always_use_parentheses_in_expressions=false
sp_cleanup.always_use_this_for_non_static_field_access=false
sp_cleanup.always_use_this_for_non_static_method_access=false
sp_cleanup.convert_functional_interfaces=true
sp_cleanup.convert_to_enhanced_for_loop=true
sp_cleanup.correct_indentation=false
sp_cleanup.format_source_code=true
sp_cleanup.format_source_code_changes_only=false
sp_cleanup.insert_inferred_type_arguments=false
sp_cleanup.make_local_variable_final=false
sp_cleanup.make_parameters_final=false
sp_cleanup.make_private_fields_final=true
sp_cleanup.make_type_abstract_if_missing_method=false
sp_cleanup.make_variable_declarations_final=false
sp_cleanup.never_use_blocks=false
sp_cleanup.never_use_parentheses_in_expressions=true
sp_cleanup.on_save_use_additional_actions=true
sp_cleanup.organize_imports=true
sp_cleanup.qualify_static_field_accesses_with_declaring_class=false
sp_cleanup.qualify_static_member_accesses_through_instances_with_declaring_class=true
sp_cleanup.qualify_static_member_accesses_through_subtypes_with_declaring_class=true
sp_cleanup.qualify_static_member_accesses_with_declaring_class=false
sp_cleanup.qualify_static_method_accesses_with_declaring_class=false
sp_cleanup.remove_private_constructors=true
sp_cleanup.remove_redundant_modifiers=true
sp_cleanup.remove_redundant_semicolons=true
sp_cleanup.remove_redundant_type_arguments=true
sp_cleanup.remove_trailing_whitespaces=true
sp_cleanup.remove_trailing_whitespaces_all=true
sp_cleanup.remove_trailing_whitespaces_ignore_empty=false
sp_cleanup.remove_unnecessary_casts=true
sp_cleanup.remove_unnecessary_nls_tags=false
sp_cleanup.remove_unused_imports=true
sp_cleanup.remove_unused_local_variables=false
sp_cleanup.remove_unused_private_fields=true
sp_cleanup.remove_unused_private_members=false
sp_cleanup.remove_unused_private_methods=true
sp_cleanup.remove_unused_private_types=true
sp_cleanup.sort_members=false
sp_cleanup.sort_members_all=false
sp_cleanup.use_anonymous_class_creation=false
sp_cleanup.use_blocks=false
sp_cleanup.use_blocks_only_for_return_and_throw=false
sp_cleanup.use_lambda=true
sp_cleanup.use_parentheses_in_expressions=false
sp_cleanup.use_this_for_non_static_field_access=false
sp_cleanup.use_this_for_non_static_field_access_only_if_necessary=true
sp_cleanup.use_this_for_non_static_method_access=false
sp_cleanup.use_this_for_non_static_method_access_only_if_necessary=true
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: %bundleName
Bundle-SymbolicName: org.eclipse.equinox.p2.ui;singleton:=true
Bundle-Version: 2.9.0.qualifier
Bundle-Activator: org.eclipse.equinox.internal.p2.ui.ProvUIActivator
Bundle-Vendor: %providerName
Bundle-Localization: plugin
Export-Package: org.eclipse.equinox.internal.p2.ui;
x-friends:="org.eclipse.equinox.p2.ui.admin,
org.eclipse.pde.ui,
org.eclipse.equinox.p2.ui.sdk,
org.eclipse.equinox.p2.ui.rcp,
org.eclipse.equinox.p2.ui.importexport,
org.eclipse.equinox.p2.ui.sdk.scheduler,
org.eclipse.equinox.p2.discovery,
org.eclipse.equinox.p2.ui.discovery",
org.eclipse.equinox.internal.p2.ui.actions;x-friends:="org.eclipse.equinox.p2.ui.admin,org.eclipse.equinox.p2.ui.sdk.scheduler",
org.eclipse.equinox.internal.p2.ui.dialogs;
x-friends:="org.eclipse.equinox.p2.ui.admin,
org.eclipse.equinox.p2.ui.sdk.scheduler,
org.eclipse.equinox.p2.ui.sdk,
org.eclipse.pde.ui,
org.eclipse.equinox.p2.ui.importexport",
org.eclipse.equinox.internal.p2.ui.model;
x-friends:="org.eclipse.equinox.internal.p2.ui.analysis,
org.eclipse.equinox.p2.ui.admin,
org.eclipse.equinox.p2.ui.sdk.scheduler,
org.eclipse.equinox.p2.ui.sdk,
org.eclipse.equinox.p2.ui.importexport",
org.eclipse.equinox.p2.ui;version="2.6.0"
Require-Bundle: org.eclipse.ui;bundle-version="3.107.0",
org.eclipse.core.runtime;bundle-version="[3.0.0,4.0.0)"
Import-Package: org.eclipse.equinox.internal.p2.metadata,
org.eclipse.equinox.internal.provisional.p2.repository,
org.eclipse.equinox.p2.core;version="[2.7.0,3.0.0)",
org.eclipse.equinox.p2.engine;version="[2.0.0,3.0.0)",
org.eclipse.equinox.p2.engine.query;version="[2.0.0,3.0.0)",
org.eclipse.equinox.p2.metadata;version="[2.0.0,3.0.0)",
org.eclipse.equinox.p2.operations;version="[2.0.0,3.0.0)",
org.eclipse.equinox.p2.query;version="[2.0.0,3.0.0)",
org.eclipse.equinox.p2.repository.artifact;version="[2.0.0,3.0.0)",
org.eclipse.equinox.p2.repository.metadata;version="[2.0.0,3.0.0)"
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-17
Automatic-Module-Name: org.eclipse.equinox.p2.ui
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
###############################################################################
# Copyright (c) 2007, 2010 IBM Corporation 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
#
# Contributors:
# IBM Corporation - initial API and implementation
###############################################################################
bin.includes = plugin.properties,\
.,\
META-INF/,\
plugin.xml
source.. = src/
# this is the missing one we want to test: output.. = bin/
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
###############################################################################
# Copyright (c) 2007, 2010 IBM Corporation 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
#
# Contributors:
# IBM Corporation - initial API and implementation
###############################################################################
#
# Provisioning UI plugin resources
#
providerName = Eclipse.org - Equinox
bundleName=Equinox Provisioning UI Support
IU.general=General Information
IU.license=License Agreement
IU.copyright=Copyright

Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.2"?>
<plugin>
<extension
point="org.eclipse.core.runtime.adapters">
<factory
adaptableType="org.eclipse.equinox.internal.p2.ui.model.ProvElement"
class="org.eclipse.equinox.internal.p2.ui.ProvUIAdapterFactory">
<adapter type="org.eclipse.equinox.p2.metadata.IInstallableUnit"/>
<adapter type="org.eclipse.equinox.p2.engine.IProfile"/>
<adapter type="org.eclipse.equinox.p2.repository.IRepository"/>
<adapter type="org.eclipse.equinox.p2.repository.metadata.IMetadataRepository"/>
<adapter type="org.eclipse.equinox.p2.repository.artifact.IArtifactRepository"/>
</factory>
<factory
adaptableType="org.eclipse.ui.internal.about.AboutPluginsPage"
class="org.eclipse.equinox.internal.p2.ui.KeySigningInfoFactory">
<adapter
type="org.eclipse.ui.internal.about.AboutBundleData$ExtendedSigningInfo">
</adapter>
</factory>
</extension>

<extension
point="org.eclipse.ui.propertyPages">
<page
name="%IU.copyright"
class="org.eclipse.equinox.internal.p2.ui.dialogs.IUCopyrightPropertyPage"
id="org.eclipse.equinox.p2.ui.IUCopyrightPropertyPage">
<enabledWhen>
<adapt
type="org.eclipse.equinox.p2.metadata.IInstallableUnit">
</adapt>
</enabledWhen>
</page>
<page
name="%IU.general"
class="org.eclipse.equinox.internal.p2.ui.dialogs.IUGeneralInfoPropertyPage"
id="org.eclipse.equinox.p2.ui.IUGeneralInfoPropertyPage">
<enabledWhen>
<adapt
type="org.eclipse.equinox.p2.metadata.IInstallableUnit">
</adapt>
</enabledWhen>
</page>
<page
name="%IU.license"
class="org.eclipse.equinox.internal.p2.ui.dialogs.IULicensePropertyPage"
id="org.eclipse.equinox.p2.ui.IULicensePropertyPage">
<enabledWhen>
<adapt
type="org.eclipse.equinox.p2.metadata.IInstallableUnit">
</adapt>
</enabledWhen>
</page>
</extension>
</plugin>
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
/*******************************************************************************
* Copyright (c) 2007, 2018 IBM Corporation 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
*
* Contributors:
* IBM Corporation - initial API and implementation
* Red Hat Inc. - Bug 460967
*******************************************************************************/
package org.eclipse.equinox.internal.p2.ui;

/**
* Utility methods for running provisioning operations. Operations can either be
* run synchronously or in a job. When scheduled as a job, the operation
* determines whether the job is run in the background or in the UI.
*
* @since 3.4
*/
public class ProvisioningOperationRunner {

}
Loading
Loading