Remove custom LcDsl pre-/post- build logic
This should not be required if .lc files are structured correctly.
Change-Id: Iccddb1b14f4300d8d30160882d77585c9389d4fe
Signed-off-by: Markus Duft <markus.duft@ssi-schaefer.com>
diff --git a/org.eclipse.tea.library.build.lcdsl/META-INF/MANIFEST.MF b/org.eclipse.tea.library.build.lcdsl/META-INF/MANIFEST.MF
index d71978e..c93eb49 100644
--- a/org.eclipse.tea.library.build.lcdsl/META-INF/MANIFEST.MF
+++ b/org.eclipse.tea.library.build.lcdsl/META-INF/MANIFEST.MF
@@ -22,11 +22,7 @@
org.eclipse.tea.core.ui
Bundle-ActivationPolicy: lazy
Service-Component: OSGI-INF/org.eclipse.tea.library.build.lcdsl.tasks.chains.TaskChainBuildAnyFeatureSite.xml,
- OSGI-INF/org.eclipse.tea.library.build.lcdsl.internal.TeaLcDslElementVisitor.xml,
- OSGI-INF/org.eclipse.tea.library.build.lcdsl.internal.TeaLcDslElementFactory.xml,
- OSGI-INF/org.eclipse.tea.library.build.lcdsl.internal.TeaLcDslElementWiring.xml,
OSGI-INF/org.eclipse.tea.library.build.lcdsl.tasks.p2.ProductBuildTaskChain.xml
-Export-Package: org.eclipse.tea.library.build.lcdsl.internal;x-internal:=true,
- org.eclipse.tea.library.build.lcdsl.tasks,
+Export-Package: org.eclipse.tea.library.build.lcdsl.tasks,
org.eclipse.tea.library.build.lcdsl.tasks.chains,
org.eclipse.tea.library.build.lcdsl.tasks.p2
diff --git a/org.eclipse.tea.library.build.lcdsl/OSGI-INF/org.eclipse.tea.library.build.lcdsl.internal.TeaLcDslElementFactory.xml b/org.eclipse.tea.library.build.lcdsl/OSGI-INF/org.eclipse.tea.library.build.lcdsl.internal.TeaLcDslElementFactory.xml
deleted file mode 100644
index 0a4b549..0000000
--- a/org.eclipse.tea.library.build.lcdsl/OSGI-INF/org.eclipse.tea.library.build.lcdsl.internal.TeaLcDslElementFactory.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.tea.library.build.lcdsl.internal.TeaLcDslElementFactory">
- <service>
- <provide interface="org.eclipse.tea.library.build.services.TeaBuildElementFactory"/>
- </service>
- <implementation class="org.eclipse.tea.library.build.lcdsl.internal.TeaLcDslElementFactory"/>
-</scr:component>
\ No newline at end of file
diff --git a/org.eclipse.tea.library.build.lcdsl/OSGI-INF/org.eclipse.tea.library.build.lcdsl.internal.TeaLcDslElementVisitor.xml b/org.eclipse.tea.library.build.lcdsl/OSGI-INF/org.eclipse.tea.library.build.lcdsl.internal.TeaLcDslElementVisitor.xml
deleted file mode 100644
index 9d352d9..0000000
--- a/org.eclipse.tea.library.build.lcdsl/OSGI-INF/org.eclipse.tea.library.build.lcdsl.internal.TeaLcDslElementVisitor.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.tea.library.build.lcdsl.internal.TeaLcDslElementVisitor">
- <service>
- <provide interface="org.eclipse.tea.library.build.services.TeaBuildVisitor"/>
- </service>
- <implementation class="org.eclipse.tea.library.build.lcdsl.internal.TeaLcDslElementVisitor"/>
-</scr:component>
\ No newline at end of file
diff --git a/org.eclipse.tea.library.build.lcdsl/OSGI-INF/org.eclipse.tea.library.build.lcdsl.internal.TeaLcDslElementWiring.xml b/org.eclipse.tea.library.build.lcdsl/OSGI-INF/org.eclipse.tea.library.build.lcdsl.internal.TeaLcDslElementWiring.xml
deleted file mode 100644
index 16c4d1e..0000000
--- a/org.eclipse.tea.library.build.lcdsl/OSGI-INF/org.eclipse.tea.library.build.lcdsl.internal.TeaLcDslElementWiring.xml
+++ /dev/null
@@ -1,7 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<scr:component xmlns:scr="http://www.osgi.org/xmlns/scr/v1.1.0" name="org.eclipse.tea.library.build.lcdsl.internal.TeaLcDslElementWiring">
- <service>
- <provide interface="org.eclipse.tea.library.build.services.TeaDependencyWireFactory"/>
- </service>
- <implementation class="org.eclipse.tea.library.build.lcdsl.internal.TeaLcDslElementWiring"/>
-</scr:component>
\ No newline at end of file
diff --git a/org.eclipse.tea.library.build.lcdsl/src/org/eclipse/tea/library/build/lcdsl/internal/TeaLcDslElement.java b/org.eclipse.tea.library.build.lcdsl/src/org/eclipse/tea/library/build/lcdsl/internal/TeaLcDslElement.java
deleted file mode 100644
index d790076..0000000
--- a/org.eclipse.tea.library.build.lcdsl/src/org/eclipse/tea/library/build/lcdsl/internal/TeaLcDslElement.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 SSI Schaefer IT Solutions GmbH and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * SSI Schaefer IT Solutions GmbH
- *******************************************************************************/
-package org.eclipse.tea.library.build.lcdsl.internal;
-
-import java.util.ArrayList;
-import java.util.List;
-import java.util.concurrent.atomic.AtomicBoolean;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.core.resources.IResource;
-import org.eclipse.core.runtime.CoreException;
-import org.eclipse.tea.library.build.chain.TeaBuildElement;
-import org.eclipse.tea.library.build.util.TeaBuildUtil;
-import org.eclipse.xtext.ui.XtextProjectHelper;
-
-public class TeaLcDslElement extends TeaBuildElement {
-
- static final String NAME_PRE = "LcDsl: Prepare launch configurations";
- static final String NAME_POST = "LcDsl: Update launch configurations";
-
- private final List<IProject> projects = new ArrayList<>();
- private final String name;
-
- public TeaLcDslElement(String name) {
- this.name = name;
- }
-
- public void add(IProject toBuild) {
- projects.add(toBuild);
- }
-
- public void execute() {
- TeaBuildUtil.tryCompile(projects);
- }
-
- @Override
- public String getName() {
- return name;
- }
-
- static boolean hasLc(IProject prj) {
- if (XtextProjectHelper.hasNature(prj)) {
- // look for .lc files
- AtomicBoolean hasLc = new AtomicBoolean();
- try {
- prj.accept((res) -> {
- if (hasLc.get()) {
- return false; // cancel ASAP
- }
- if (res.getType() == IResource.FOLDER || res.getType() == IResource.PROJECT) {
- return true;
- }
- if (res.getType() == IResource.FILE && res.getName().endsWith(".lc")) {
- hasLc.set(true);
- }
- return false;
- });
- } catch (CoreException e) {
- throw new RuntimeException("cannot visit " + prj + "'s resources", e);
- }
- return hasLc.get();
- }
- return false;
- }
-
-}
diff --git a/org.eclipse.tea.library.build.lcdsl/src/org/eclipse/tea/library/build/lcdsl/internal/TeaLcDslElementFactory.java b/org.eclipse.tea.library.build.lcdsl/src/org/eclipse/tea/library/build/lcdsl/internal/TeaLcDslElementFactory.java
deleted file mode 100644
index ed5a999..0000000
--- a/org.eclipse.tea.library.build.lcdsl/src/org/eclipse/tea/library/build/lcdsl/internal/TeaLcDslElementFactory.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 SSI Schaefer IT Solutions GmbH and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * SSI Schaefer IT Solutions GmbH
- *******************************************************************************/
-package org.eclipse.tea.library.build.lcdsl.internal;
-
-import java.util.ArrayList;
-import java.util.Collection;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.tea.library.build.chain.TeaBuildChain;
-import org.eclipse.tea.library.build.chain.TeaBuildElement;
-import org.eclipse.tea.library.build.services.TeaBuildElementFactory;
-import org.osgi.service.component.annotations.Component;
-
-@Component
-public class TeaLcDslElementFactory implements TeaBuildElementFactory {
-
- @Override
- public Collection<TeaBuildElement> createElements(TeaBuildChain chain, IProject prj) {
- Collection<TeaBuildElement> result = null;
- if (TeaLcDslElement.hasLc(prj)) {
- TeaLcDslElement pre = (TeaLcDslElement) chain.getElementFor(TeaLcDslElement.NAME_PRE);
- TeaLcDslElement post = (TeaLcDslElement) chain.getElementFor(TeaLcDslElement.NAME_POST);
- if (pre == null) {
- // need a pre and a post element
- result = new ArrayList<>();
- pre = new TeaLcDslElement(TeaLcDslElement.NAME_PRE);
- post = new TeaLcDslElement(TeaLcDslElement.NAME_POST);
- result.add(pre);
- result.add(post);
- }
-
- pre.add(prj);
- post.add(prj);
- }
- return result;
- }
-
-}
diff --git a/org.eclipse.tea.library.build.lcdsl/src/org/eclipse/tea/library/build/lcdsl/internal/TeaLcDslElementVisitor.java b/org.eclipse.tea.library.build.lcdsl/src/org/eclipse/tea/library/build/lcdsl/internal/TeaLcDslElementVisitor.java
deleted file mode 100644
index a93409f..0000000
--- a/org.eclipse.tea.library.build.lcdsl/src/org/eclipse/tea/library/build/lcdsl/internal/TeaLcDslElementVisitor.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 SSI Schaefer IT Solutions GmbH and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * SSI Schaefer IT Solutions GmbH
- *******************************************************************************/
-package org.eclipse.tea.library.build.lcdsl.internal;
-
-import java.util.List;
-import java.util.Map;
-
-import org.eclipse.core.runtime.IStatus;
-import org.eclipse.core.runtime.Status;
-import org.eclipse.e4.core.di.annotations.Execute;
-import org.eclipse.tea.core.services.TaskingLog;
-import org.eclipse.tea.library.build.chain.TeaBuildElement;
-import org.eclipse.tea.library.build.services.TeaBuildVisitor;
-import org.osgi.service.component.annotations.Component;
-
-@Component
-public class TeaLcDslElementVisitor implements TeaBuildVisitor {
-
- private TaskingLog log;
-
- @Execute
- public void init(TaskingLog log) {
- this.log = log;
- }
-
- @Override
- public Map<TeaBuildElement, IStatus> visit(List<TeaBuildElement> elements) {
- return visitEach(elements, TeaLcDslElement.class, e -> {
- log.info("preparing LcDsl launch configurations...");
- e.execute();
- return Status.OK_STATUS;
- });
- }
-
-}
diff --git a/org.eclipse.tea.library.build.lcdsl/src/org/eclipse/tea/library/build/lcdsl/internal/TeaLcDslElementWiring.java b/org.eclipse.tea.library.build.lcdsl/src/org/eclipse/tea/library/build/lcdsl/internal/TeaLcDslElementWiring.java
deleted file mode 100644
index 3fed60c..0000000
--- a/org.eclipse.tea.library.build.lcdsl/src/org/eclipse/tea/library/build/lcdsl/internal/TeaLcDslElementWiring.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2017 SSI Schaefer IT Solutions GmbH and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * SSI Schaefer IT Solutions GmbH
- *******************************************************************************/
-package org.eclipse.tea.library.build.lcdsl.internal;
-
-import org.eclipse.tea.library.build.chain.TeaBuildChain;
-import org.eclipse.tea.library.build.chain.TeaUnhandledElement;
-import org.eclipse.tea.library.build.services.TeaDependencyWireFactory;
-import org.osgi.service.component.annotations.Component;
-
-@Component
-public class TeaLcDslElementWiring implements TeaDependencyWireFactory {
-
- @Override
- public void createWires(TeaBuildChain chain) {
- TeaLcDslElement pre = (TeaLcDslElement) chain.getElementFor(TeaLcDslElement.NAME_PRE);
- TeaLcDslElement post = (TeaLcDslElement) chain.getElementFor(TeaLcDslElement.NAME_POST);
- if (pre != null && post != null) {
- chain.getAllElements().forEach(e -> {
- if (e instanceof TeaUnhandledElement) {
- return;
- }
-
- // pre should be first, all others have a dependency
- if (e != pre) {
- e.addDependencyWire(pre.createWire());
- }
-
- // post has a dependency to all others.
- if (post != e) {
- post.addDependencyWire(e.createWire());
- }
- });
-
- }
- }
-
-}