Skip to content
Open
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
4 changes: 0 additions & 4 deletions .github/dependabot.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,10 +14,6 @@ updates:
directory: "/"
schedule:
interval: "daily"
groups:
codeql-action:
patterns:
- "github/codeql-action*"

# Maintain dependencies for maven
- package-ecosystem: "maven"
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
Expand Up @@ -57,12 +57,12 @@ jobs:
- name: Set up Gradle
uses: gradle/actions/setup-gradle@9c971963bec38e04b3d30dcc455b5382be2fdbfb
- name: Initialize CodeQL Analysis
uses: github/codeql-action/init@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6
uses: github/codeql-action/init@8aad20d150bbac5944a9f9d289da16a4b0d87c1e
with:
languages: 'java'
- name: Build for CodeQL Analysis
id: build
run: |
./.github/scripts/codeql-build.sh
- name: Perform CodeQL Analysis
uses: github/codeql-action/analyze@5595ccaf912efad79be6eef63a5619ff05969be3 # v4.37.6
uses: github/codeql-action/analyze@8aad20d150bbac5944a9f9d289da16a4b0d87c1e
35 changes: 35 additions & 0 deletions bndtools.core/src/bndtools/editor/BndEditor.java
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,7 @@
import org.eclipse.core.runtime.IProgressMonitor;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.NullProgressMonitor;
import org.eclipse.core.runtime.Path;
import org.eclipse.core.runtime.Platform;
import org.eclipse.core.runtime.Status;
import org.eclipse.core.runtime.jobs.IJobChangeEvent;
Expand Down Expand Up @@ -775,6 +776,40 @@ public void resourceChanged(IResourceChangeEvent event) {
IResourceDelta delta = event.getDelta();
if (delta == null)
return;

// When an included file is saved, refresh the owner processor and reload
// so merged properties (e.g. -runrequires, -runproperties) reflect the change.
aQute.bnd.osgi.Processor owner = model.getOwner();
if (owner != null && !saving.get()) {
final IResourceDelta fullDelta = delta; // delta is reassigned below; capture before
boolean includedChanged = owner.getIncluded()
.stream()
.anyMatch(includedFile -> {
IFile wsFile = ResourcesPlugin.getWorkspace()
.getRoot()
.getFileForLocation(new Path(includedFile.getAbsolutePath()));
if (wsFile == null)
return false;
IResourceDelta d = fullDelta.findMember(wsFile.getFullPath());
return d != null
&& (d.getKind() & IResourceDelta.CHANGED) != 0
&& (d.getFlags() & IResourceDelta.CONTENT) != 0;
});
if (includedChanged) {
final IDocumentProvider docProvider = sourcePage.getDocumentProvider();
if (docProvider != null) {
final IDocument document = docProvider.getDocument(getEditorInput());
SWTConcurrencyUtil.execForControl(getEditorSite().getShell(), true, () -> {
try {
owner.forceRefresh();
model.loadFrom(new IDocumentWrapper(document));
} catch (IOException e) {
logger.logError("Failed to reload model after included file change", e);
}
});
}
}
}
IPath fullPath = myResource.getFullPath();
delta = delta.findMember(fullPath);
if (delta == null)
Expand Down
52 changes: 41 additions & 11 deletions bndtools.core/src/bndtools/editor/pages/ProjectRunPage.java
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Display;
import org.eclipse.ui.forms.IManagedForm;
import org.eclipse.ui.forms.events.ExpansionAdapter;
import org.eclipse.ui.forms.events.ExpansionEvent;
import org.eclipse.ui.forms.editor.FormEditor;
import org.eclipse.ui.forms.editor.FormPage;
import org.eclipse.ui.forms.editor.IFormPage;
Expand Down Expand Up @@ -175,20 +177,25 @@ protected void createFormContent(IManagedForm managedForm) {
RepositorySelectionPart reposPart = new RepositorySelectionPart(getEditor(), left, tk,
ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
managedForm.addPart(reposPart);
gd = new GridData(SWT.FILL, SWT.FILL, true, true);
gd.widthHint = 50;
gd.heightHint = 50;
reposPart.getSection()
.setLayoutData(PageLayoutUtils.createCollapsed());

AvailableBundlesPart availableBundlesPart = new AvailableBundlesPart(left, tk,
ExpandableComposite.TITLE_BAR | ExpandableComposite.EXPANDED);
ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
managedForm.addPart(availableBundlesPart);
gd = new GridData(SWT.FILL, SWT.FILL, true, true);
gd.widthHint = 50;
gd.heightHint = 50;
availableBundlesPart.getSection()
.setLayoutData(PageLayoutUtils.createExpanded());
.setLayoutData(createBrowseReposExpandedLayout());
availableBundlesPart.getSection()
.addExpansionListener(new ExpansionAdapter() {
@Override
public void expansionStateChanged(ExpansionEvent e) {
Object layoutData = availableBundlesPart.getSection()
.isExpanded() ? createBrowseReposExpandedLayout() : PageLayoutUtils.createCollapsed();
availableBundlesPart.getSection()
.setLayoutData(layoutData);
left.layout(true, true);
}
});

RunFrameworkPart runFwkPart = new RunFrameworkPart(left, tk,
ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
Expand All @@ -198,11 +205,21 @@ protected void createFormContent(IManagedForm managedForm) {
.setLayoutData(gd);

RunPropertiesPart runPropertiesPart = new RunPropertiesPart(left, tk,
ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE);
ExpandableComposite.TITLE_BAR | ExpandableComposite.TWISTIE | ExpandableComposite.EXPANDED);
managedForm.addPart(runPropertiesPart);
gd = new GridData(SWT.FILL, SWT.FILL, true, false);
runPropertiesPart.getSection()
.setLayoutData(gd);
.setLayoutData(createRunPropertiesExpandedLayout());
runPropertiesPart.getSection()
.addExpansionListener(new ExpansionAdapter() {
@Override
public void expansionStateChanged(ExpansionEvent e) {
Object layoutData = runPropertiesPart.getSection()
.isExpanded() ? createRunPropertiesExpandedLayout() : PageLayoutUtils.createCollapsed();
runPropertiesPart.getSection()
.setLayoutData(layoutData);
left.layout(true, true);
}
});

// SECOND COLUMN
if (supportsResolve) {
Expand Down Expand Up @@ -262,4 +279,17 @@ private void updateFormImage(final ScrolledForm form) {
default :
}
}

private static GridData createBrowseReposExpandedLayout() {
GridData gd = new GridData(SWT.FILL, SWT.FILL, true, true);
gd.minimumHeight = 220;
return gd;
}

private static GridData createRunPropertiesExpandedLayout() {
GridData gd = new GridData(SWT.FILL, SWT.FILL, true, false);
gd.minimumHeight = 140;
return gd;
}

}
Loading
Loading