Skip to content

Commit

Permalink
Merge feature #15 fix import of entire delivery
Browse files Browse the repository at this point in the history
Issue: #15;
API-modification: Y[]/N[X];
Prevent invisible loop created by delivery instantiation.
SCLProject.getDeliveryInformation() differentiates between the
initialization case and the default behaviour.
  • Loading branch information
JF2602 authored Jul 3, 2024
2 parents 785fe09 + dcb0999 commit ef83d8c
Show file tree
Hide file tree
Showing 14 changed files with 28 additions and 122 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ public final class CCLAssemblyInfo
{
private static final String PRODUCT_NAME = "ReleaseFab";
private static final String COMPANY = "comlet Verteilte Systeme GmbH";
private static final String COPYRIGHT = "Copyright © 2023";
private static final String COPYRIGHT = "Copyright © 2024";
private static final String VERSION = "1.1.0";

private CCLAssemblyInfo()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* ReleaseFab
*
* Copyright © 2022 comlet Verteilte Systeme GmbH
* Copyright © 2024 comlet Verteilte Systeme GmbH
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
Expand Down Expand Up @@ -993,10 +993,11 @@ else if (res < 0)
* @param component component containing the information
* @param delivery delivery containing the information
* @param importer importer used to get the information
* @param init true if the call comes from {@link #getInitialComponent()}, false otherwise
* @return detailed information about a delivery of a component
*/
public static ACLDeliveryInformation getDeliveryInformation(CCLComponent component, CCLDelivery delivery,
ACLImportStrategy importer)
ACLImportStrategy importer, boolean init)
{
ACLDeliveryInformation deliveryInformation = null;

Expand All @@ -1010,8 +1011,15 @@ public static ACLDeliveryInformation getDeliveryInformation(CCLComponent compone

List<CCLParameter> parameters = component.getParameters(importer.getName());

deliveryInformation.setInformation(strat.getData(parameters, component, delivery,
getFormerDelivery(delivery), importer, getProjectRoot()));
if (init)
{
deliveryInformation.setInformation(strat.getData(parameters, component, delivery,
getFormerDelivery(delivery), importer, getProjectRoot(), new CCLComponent()));
}
else {
deliveryInformation.setInformation(strat.getData(parameters, component, delivery,
getFormerDelivery(delivery), importer, getProjectRoot(), SCLProject.getInstance().getInitialComponent()));
}

if (!SCLProject.getInstance().getDeliveries().isEmpty() && !deliveryInformation.isNew())
{
Expand Down Expand Up @@ -1289,7 +1297,7 @@ public Boolean doIt(CCLComponent component, CCLDelivery delivery)
{
if (!sTestMode)
{
ACLDeliveryInformation info = getDeliveryInformation(component, delivery, importer);
ACLDeliveryInformation info = getDeliveryInformation(component, delivery, importer, false);

if (!component.getDeliveryInformation().containsKey(delivery.getName() + importer.getName()) && null != info)
{
Expand Down Expand Up @@ -1480,7 +1488,7 @@ public CCLComponent getInitialComponent()
{
if (!initialComponent.getDeliveryInformation().containsKey(delivery.getName() + importer.getName()))
{
ACLDeliveryInformation info = SCLProject.getDeliveryInformation(initialComponent, delivery, importer);
ACLDeliveryInformation info = SCLProject.getDeliveryInformation(initialComponent, delivery, importer, true);
initialComponent.getDeliveryInformation().put(delivery.getName() + importer.getName(), info);
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@
</content>
</deliveryInformation>
</importer>
<importer name="Git Commits" version="1.1.1">
<importer name="Git Commits" version="1.1.2">
<assigner name="Ignore" />
<parameters number="0" />
<deliveryInformation name="3.0.0.0" isNew="false">
Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* ReleaseFab
*
* Copyright © 2022 comlet Verteilte Systeme GmbH
* Copyright © 2024 comlet Verteilte Systeme GmbH
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
Expand Down Expand Up @@ -151,16 +151,4 @@ protected CCLXMLSinkBase processInput(Iterable<ICLCommitContainer> commits, CCLX
sink.addItems(new CCLXMLCommitTransformer(commits));
return sink;
}

/**
* Overload of method
* {@link #getData(List, CCLComponent, CCLDelivery, CCLDelivery, ACLImportStrategy, String, CCLComponent)}
* without an initial component.
*/
@Override
public Element getData(List<CCLParameter> parameters, CCLComponent component, CCLDelivery delivery,
CCLDelivery formerDelivery, ACLImportStrategy importer, String projectRoot)
{
return getData(parameters, component, delivery, formerDelivery, importer, projectRoot, null);
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* ReleaseFab
*
* Copyright © 2022 comlet Verteilte Systeme GmbH
* Copyright © 2024 comlet Verteilte Systeme GmbH
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
Expand Down Expand Up @@ -116,17 +116,4 @@ public Element getData(List<CCLParameter> aParameters, CCLComponent aComponent,

return desc;
}

/**
* Overload of method
* {@link #getData(List, CCLComponent, CCLDelivery, CCLDelivery, ACLImportStrategy, String, CCLComponent)}
* without an initial component.
*/
@Override
public Element getData(List<CCLParameter> parameters, CCLComponent component, CCLDelivery delivery,
CCLDelivery formerDelivery, ACLImportStrategy importer, String projectRoot)
{
return getData(parameters, component, delivery, formerDelivery, importer, projectRoot, null);
}

}
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@
public class CCLImportGitCommits extends ACLImportStrategy
{
private static final String NAME = "Git Commits";
private static final String VERSION = "1.1.1";
private static final String VERSION = "1.1.2";
private static final String LICENSE = "Eclipse Public License - v 2.0";
private static final String LICENSE_SOURCE = "https://www.eclipse.org/legal/epl-2.0/";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* ReleaseFab
*
* Copyright © 2022 comlet Verteilte Systeme GmbH
* Copyright © 2024 comlet Verteilte Systeme GmbH
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
Expand Down Expand Up @@ -87,12 +87,4 @@ public String toString()
{
return getName();
}

/**
* Overload of method
* {@link #getData(List, CCLComponent, CCLDelivery, CCLDelivery, ACLImportStrategy, String, CCLComponent)}
* without an initial component.
*/
public abstract Element getData(List<CCLParameter> parameters, CCLComponent component, CCLDelivery delivery,
CCLDelivery formerDelivery, ACLImportStrategy importer, String projectRoot);
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* ReleaseFab
*
* Copyright © 2022 comlet Verteilte Systeme GmbH
* Copyright © 2024 comlet Verteilte Systeme GmbH
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
Expand Down Expand Up @@ -162,16 +162,4 @@ public String filterWithRegex(String text, String regex, String format)

return result;
}

/**
* Overload of method
* {@link #getData(List, CCLComponent, CCLDelivery, CCLDelivery, ACLImportStrategy, String, CCLComponent)}
* without an initial component.
*/
@Override
public Element getData(List<CCLParameter> parameters, CCLComponent component, CCLDelivery delivery,
CCLDelivery formerDelivery, ACLImportStrategy importer, String projectRoot)
{
return getData(parameters, component, delivery, formerDelivery, importer, projectRoot, null);
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* ReleaseFab
*
* Copyright © 2022 comlet Verteilte Systeme GmbH
* Copyright © 2024 comlet Verteilte Systeme GmbH
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
Expand Down Expand Up @@ -75,17 +75,4 @@ public Element getData(List<CCLParameter> aParameters, CCLComponent aComponent,

return desc;
}

/**
* Overload of method
* {@link #getData(List, CCLComponent, CCLDelivery, CCLDelivery, ACLImportStrategy, String, CCLComponent)}
* without an initial component.
*/
@Override
public Element getData(List<CCLParameter> parameters, CCLComponent component, CCLDelivery delivery,
CCLDelivery formerDelivery, ACLImportStrategy importer, String projectRoot)
{
return getData(parameters, component, delivery, formerDelivery, importer, projectRoot, null);
}

}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* ReleaseFab
*
* Copyright © 2022 comlet Verteilte Systeme GmbH
* Copyright © 2024 comlet Verteilte Systeme GmbH
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
Expand Down Expand Up @@ -159,15 +159,4 @@ public Element getData(List<CCLParameter> aParameters, CCLComponent aComponent,
}
return desc;
}

/**
* Overload of method
* {@link #getData(List, CCLComponent, CCLDelivery, CCLDelivery, ACLImportStrategy, String, CCLComponent)}
* without an initial component.
*/
@Override public Element getData(List<CCLParameter> parameters, CCLComponent component, CCLDelivery delivery,
CCLDelivery formerDelivery, ACLImportStrategy importer, String projectRoot)
{
return getData(parameters, component, delivery, formerDelivery, importer, projectRoot, null);
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* ReleaseFab
*
* Copyright © 2022 comlet Verteilte Systeme GmbH
* Copyright © 2024 comlet Verteilte Systeme GmbH
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
Expand Down Expand Up @@ -60,16 +60,4 @@ public Element getData(List<CCLParameter> aParameters, CCLComponent aComponent,
desc.addContent(SCLXMLUtil.createElement("string", "-"));
return desc;
}

/**
* Overload of method
* {@link #getData(List, CCLComponent, CCLDelivery, CCLDelivery, ACLImportStrategy, String, CCLComponent)}
* without an initial component.
*/
@Override
public Element getData(List<CCLParameter> parameters, CCLComponent component, CCLDelivery delivery,
CCLDelivery formerDelivery, ACLImportStrategy importer, String projectRoot)
{
return getData(parameters, component, delivery, formerDelivery, importer, projectRoot, null);
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* ReleaseFab
*
* Copyright © 2022 comlet Verteilte Systeme GmbH
* Copyright © 2024 comlet Verteilte Systeme GmbH
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
Expand Down Expand Up @@ -95,15 +95,4 @@ public Element getData(List<CCLParameter> aParameters, CCLComponent aComponent,
desc.addContent(SCLXMLUtil.createElement("string", Integer.toString(rand)));
return desc;
}

/**
* Overload of method
* {@link #getData(List, CCLComponent, CCLDelivery, CCLDelivery, ACLImportStrategy, String, CCLComponent)}
* without an initial component.
*/
@Override public Element getData(List<CCLParameter> parameters, CCLComponent component, CCLDelivery delivery,
CCLDelivery formerDelivery, ACLImportStrategy importer, String projectRoot)
{
return getData(parameters, component, delivery, formerDelivery, importer, projectRoot, null);
}
}
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
/**
* ReleaseFab
*
* Copyright © 2022 comlet Verteilte Systeme GmbH
* Copyright © 2024 comlet Verteilte Systeme GmbH
*
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
Expand Down Expand Up @@ -369,16 +369,4 @@ private Element getFirstDeliveryInformationOfImporterElement(Element importerEle
}
return deliverInfo;
}

/**
* Overload of method
* {@link #getData(List, CCLComponent, CCLDelivery, CCLDelivery, ACLImportStrategy, String, CCLComponent)}
* without an initial component.
*/
@Override
public Element getData(List<CCLParameter> parameters, CCLComponent component, CCLDelivery delivery,
CCLDelivery formerDelivery, ACLImportStrategy importer, String projectRoot)
{
return getData(parameters, component, delivery, formerDelivery, importer, projectRoot, null);
}
}
2 changes: 2 additions & 0 deletions application/ReleaseFab_Library/src/main/module-info.java
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
*/

import de.comlet.releasefab.api.plugin.ACLAssignmentStrategyExt;
import de.comlet.releasefab.api.plugin.ACLDeliveryInformation;

module releasefab.library
{
Expand All @@ -38,6 +39,7 @@
requires transitive org.xmlunit;

uses ACLAssignmentStrategyExt;
uses ACLDeliveryInformation;

exports de.comlet.releasefab.api.plugin;
exports de.comlet.releasefab.api.almservice;
Expand Down

0 comments on commit ef83d8c

Please sign in to comment.