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

Identify ability to get maven credentials for artifact http queries #1530

Closed
2 tasks done
maybeec opened this issue May 9, 2022 · 4 comments
Closed
2 tasks done

Identify ability to get maven credentials for artifact http queries #1530

maybeec opened this issue May 9, 2022 · 4 comments
Assignees
Labels
proc:estimated research Team_CobiGen_Templates These issues will be handeled by the team CobiGen_Templates
Milestone

Comments

@maybeec
Copy link
Member

maybeec commented May 9, 2022

Research topic for #1517

Acceptance Criteria

  • find a way to read / decrypt the maven credentials for any specific server which is configured in maven settings
  • implement PoC for authentication and querying http APIs (Identify APIs for maven artifact lookup #1529) with this credentials

Further links of interest:

https://github.com/jeremylong/DependencyCheck/blob/c4a6ff2abd539224787ac1ffb9d18c171c01925e/maven/src/main/java/org/owasp/dependencycheck/maven/BaseDependencyCheckMojo.java#L2175

@maybeec maybeec added research Team_CobiGen_Templates These issues will be handeled by the team CobiGen_Templates labels May 9, 2022
@maybeec
Copy link
Member Author

maybeec commented May 9, 2022

Hey team! Please add your planning poker estimate with ZenHub @GuentherJulian @jan-vcapgemini @mdukhan

@jan-vcapgemini jan-vcapgemini self-assigned this Aug 22, 2022
@mdukhan mdukhan self-assigned this Aug 25, 2022
jan-vcapgemini added a commit to jan-vcapgemini/cobigen that referenced this issue Sep 21, 2022
added org.codehaus.plexus sec-dispatcher dependency
added org.codehaus.plexus cipher dependency
added MavenSettingsUtil
added MavenSettingsUtilTest and resources
jan-vcapgemini added a commit to jan-vcapgemini/cobigen that referenced this issue Sep 21, 2022
@jan-vcapgemini
Copy link
Collaborator

jan-vcapgemini commented Sep 21, 2022

The attached PR #1583 could be integrated into #1517.

jan-vcapgemini added a commit to jan-vcapgemini/cobigen that referenced this issue Sep 22, 2022
replaced authToken with password
added basic username and password authentication
jan-vcapgemini added a commit to jan-vcapgemini/cobigen that referenced this issue Sep 22, 2022
jan-vcapgemini added a commit to jan-vcapgemini/cobigen that referenced this issue Sep 22, 2022
made sure that only template-set.xml files get returned as download links
added new template-set.xml to ConfigurationConstants
added a valid template-set.xml example to test resource files
removed extra outputs (non template-set.xml) from test assertions
added classifier to Nexus2Response
renamed retrieveDownloadUrls to retrieveTemplateSetXmlDownloadURLs
jan-vcapgemini added a commit to jan-vcapgemini/cobigen that referenced this issue Sep 22, 2022
fixed credentials not being used
fixed too many httpclient calls being used
added new test for a failed basic authentication
added new test for a failed token authentication
enabled bad url test
jan-vcapgemini added a commit to jan-vcapgemini/cobigen that referenced this issue Sep 22, 2022
removed JsonMappingException because it is already being handled by JsonProcessingException
jan-vcapgemini added a commit to jan-vcapgemini/cobigen that referenced this issue Sep 28, 2022
adjusted log messages (converted to debug, made factory process messages more transparent)
converted RestSearchResponseException status code from string to integer
jan-vcapgemini added a commit to jan-vcapgemini/cobigen that referenced this issue Oct 12, 2022
jan-vcapgemini added a commit to jan-vcapgemini/cobigen that referenced this issue Oct 12, 2022
replaced exception strings with constants
added retrieveRestSearchApiTargetLink method
adjusted SearchResponseException with dynamic message
adjusted tests to check for exception types and message content
Zylesto added a commit to Zylesto/cobigen that referenced this issue Oct 12, 2022
Refactored changes from devonfw#1530 into devonfw#1517
Moved devonfw#1530 files into MavenSearch package
@jan-vcapgemini
Copy link
Collaborator

This issue can be closed as it was solved (changes of draft PR #1583 were integrated into #1585 already).

@maybeec maybeec added this to the v2021.12.007 milestone Oct 25, 2022
@jan-vcapgemini
Copy link
Collaborator

This ticket can be closed as its PoC was already merged into #1517.

maybeec pushed a commit that referenced this issue Dec 16, 2022
* First implementation of settings.xml mapping

* Completed mapping of the needed components, refactoring, added JavaDocs, added log output

* Added test class, removed unnecessary code

* #1530 added maven settings password decryption
added org.codehaus.plexus sec-dispatcher dependency
added org.codehaus.plexus cipher dependency
added MavenSettingsUtil
added MavenSettingsUtilTest and resources

* #1530 adjusted test method name

* Added tests, did refactoring

* Added missing JavaDocs, tests are now using asserThat(), more improvements addressing change requests on the pull requests

* #1530 added basic authentication type
replaced authToken with password
added basic username and password authentication

* #1530 renamed REST search API constants

* #1530 handle template-set.xml
made sure that only template-set.xml files get returned as download links
added new template-set.xml to ConfigurationConstants
added a valid template-set.xml example to test resource files
removed extra outputs (non template-set.xml) from test assertions
added classifier to Nexus2Response
renamed retrieveDownloadUrls to retrieveTemplateSetXmlDownloadURLs

* #1530 added some fixes
fixed credentials not being used
fixed too many httpclient calls being used
added new test for a failed basic authentication
added new test for a failed token authentication
enabled bad url test

* #1530 cleaned up exceptions
removed JsonMappingException because it is already being handled by JsonProcessingException

* Switched from javax to jakarta, resolved comments from the pull request

* Tidied up code

* Changed path generation

* Added unmarshalling for mirrors, added loading of active profiles, added preperation of settings.xml

* added function, which returns repositories of all active profiles

* #1530 improved log messages
adjusted log messages (converted to debug, made factory process messages more transparent)
converted RestSearchResponseException status code from string to integer

* Added utils to operate with mirrors specified in maven's settings.xml

* Optimized MavenSettingsUtilTest, added first code of MavenMirrorUtilTest

* Fixed bugs, added tests for matchPattern

* Completed MavenMirrorUtil class, completed tests

* determined active profiles, added method to determine repositories of active profiles and inject mirrors in repository urls

* Minor optimisations

* Added collection of servers private key and passphrase

* Refactoring of classes in a new maven module

* #1530 added exception messages to constants

* #1530 adjusted exception handling
replaced exception strings with constants
added retrieveRestSearchApiTargetLink method
adjusted SearchResponseException with dynamic message
adjusted tests to check for exception types and message content

* Fixed merge bugs

* #1517 Refactoring
Refactored changes from #1530 into #1517
Moved #1530 files into MavenSearch package

* #1517 Added proxy to http client

* #1517 added eclipse project files

* Removed MavenSettingsUtil

* #1517 changed the process of getting active profiles
added artifact retriever
removed unsecessary code

* #1517 added multiple tests

* #1517 improved WireMock log messages
moved logback-test.xml from core-api to core-artifact-retriever

* #1517 introduced server credentials
moved all server credentials into new object
added new MavenSearchArtifactRetriever class
added new ServerCredentials class
adjusted tests to utilize server credentials
deleted MavenArtifactsUtil

* #1517 Added proxy util and tests

* #1517 removed exceptions
replaced exceptions with debug log messages
adjusted tests

* #1517 Reworked MavenProxyUtil, updated tests

* #1517 replaced more exceptions with log messages
removed obsolete retrieveMavenArtifactsByGroupId method

* #1517 implemented requested changes
converted null returns to empty lists
added new debug message to indicate that the search is proceeding
converted MavenSearchArtifactRetriever to static class
added more tests
adjusted test descriptions

* #1517 Combined ArtifactRetriever with MavenSearch
added artifactRetriever logic
prepared artifactRetriever tests

* #1517 ArtifactRetriever test preperation

* #1517 added first ArtifactRetriever tests
added example template-set.xml
added example json response for WireMock
added WireMock tests for proxy and non proxy connections as well as basic authentication
added more log messages for proxy usage and basic authentication usage
fixed NPE in MavenSettingsUtil and ArtifactRetriever

* #1517 added proxy server authentication
added basic authentication to proxy connection
added tests for proxy authentication
added proxyUsername and proxyPassword to ServerCredentials

* #1517 split test classes
split test classes of maven search

* #1517 re-organized test resources
simplified json test resource files for MavenSearchResponse tests

* #1517 fixed ArtifactRetriever proxy test
added 2nd WireMock server
adjusted settings.xml to use proxy properly

* #1517 Added ArtivactRetrieverReader

Co-authored-by: Leonie leonie-heidi.schuessler@capgemini.com

* Removed unused test

* #1517 removed util package from mavensearch

* #1517 optimizations
fixed typo
moved file reader from test to generateMavenTemplateSetConfiguration method
adjusted javadocs
added more debug information

* #1517 renamed reader models

* #1517 removed util package from mavensearch

* #1517 added template set version and tests
added retrieveTemplateSetData method (converts a list of template set files to TemplateSetArtifactReader)
added more tests and test resources
converted TemplateSetArtifactReader to stateful class
added simple template set version retrieval
adjusted tests
removed tag names and increment descriptions from TemplateSetArtifactReader
removed setupClass method from TemplateSetArtifactReaderTest (moved initialization to each test)

* #1517 renamed MavenReaderTest resource folder
renamed MavenReaderTest resource folder to TemplateSetArtifactReaderTest

* #1517 set java version to 11

* #1517 Removed java 11 dependency

* #1517 removed java 11 dependencies

* #1517 replaced List.of with simple List

* #1517 implemented requested changes
renamed get... methods
adjusted/added javadocs

* #1517 implemented requested changes
removed .classpath and .project files
moved timeout values to constants
converted SEARCH_RESPONSES from Object to AbstractSearchResponse
moved regex version number detection to constant

* #1517 implemented requested changes
saved the return of Systemutils.getUserHome() and determineMvnPath in a static variable to avoid multiple calls of the method

* #1517 implemented requested changes
added javadoc descriptions

* #1517 adjusted javadocs and class name
fixed type of Nexus2SearchResponseArtifactLinks

* #1517 Removed exceptions from tests, added javaDocs

* #1517 implemented requested changes
removed unnecessary returns

* #1517 adjusted artifact reader
adjusted artifact reader to latest TemplateSetConfiguration
added ContextConfiguration and TemplatesConfiguration entities
adjusted tests

* #1517 introduced new TemplateSet entity
replaced TemplateSetArtifactReader constructor with new retrieve method
adjusted tests

* #1517 implemented requested changes
removed unnecessary caching of user home and maven paths

* #1517 implemented requested changes
added zeroturnaround zt-exec 1.12 to the root pom as a managed dependency

* #1517 implemented requested changes
removed unnecessary build of test-jar

* #1517 #1517 implemented requested changes
adjusted debug log message
made sure that missing files won't break the retrieval process
added new testRetrieveTemplateSetArtifactWithMissingFile test

* #1517 implemented requested changes
changed wiremock dependency to wiremock-jre8 2.35.0

* #1517 implemented requested changes
changed java version to 11

Co-authored-by: jan-vcapgemini <jan-vincent.hoelzle@capgemini.com>
maybeec added a commit that referenced this issue Apr 17, 2023
* #1452 changed dynamic groupId in master-pom.xml to fixed (#1498)

* #1452 changed dynamic groupId in master-pom.xml to fixed
separated all templates sets into deployables
moved util tests into templates-devon4j-utils plug-in
renamed devon4j-templates to devon4j-templates-tests

* Update  crud-java-server-app-complex/pom.xml

delete relative Path

* #1452 reformatted pom.xml codes

Co-authored-by: LarsReinken <lars.reinken93@googlemail.com>

* 1452 Prepare for new ConfigurationReader and Adapt Templates process (#1499)

* #1452 changed dynamic groupId in master-pom.xml to fixed
separated all templates sets into deployables
moved util tests into templates-devon4j-utils plug-in
renamed devon4j-templates to devon4j-templates-tests

* Update  crud-java-server-app-complex/pom.xml

delete relative Path

* #1452 reformatted pom.xml codes

* #1452 added test resources for new TemplateSetTest

* #1452 split ContextConfigurationReader into AbstractConfigurationReader and ContextConfigurationSetReader
added new ContextConfigurationAnalyzer
implemented rough template type detection

* #1452 adapted core extract templates process and find templates methods to new template sets configuration
ensured backwards compatibility in ConfigurationFinder and ExtractTemplatesUtil
fixed some typos in ConfigurationFinder
refactored CobiGenPaths class
added getTemplateSetsFolderPath and createFolder methods to CobiGenPaths
added new constants for downloaded, adapted and template-sets to ConfigurationConstants
added processJars method to ExtractTemplatesUtil
set processJar and getJarFile methods deprecated
adjusted info messages in ExtractTemplatesUtil
added first TemplateProcessingTest class + resources
adjusted CobiGenFactory extractTemplate method

* #1452 fixed resolve of doubled CobiGen_Templates directory

* #1452 fixed ConfigurationUtilTest

* #1452 implemented requested changes
combined 3rd and 4th check into one in ConfigurationFinder
fixed old templates folder detection in ExtractTemplatesUtil
adjusted javadoc of processJars method in ExtractTemplatesUtil
adjusted return of getTemplateSetsFolderPath

* #1452 renamed variable name as requested

Co-authored-by: LarsReinken <lars.reinken93@googlemail.com>

* 1452 Implemented new configuration reader to read the template sets (#1504)

* Adjust documentation (#1491)

* fixed some types and links and corrected some parts of the documentation

* adjust angular client guide

* fixed typo

* fixed requested changes

* implemented new template set configuration reader

* added new tests to check if the ContextConfigurationSetReader is able to find all context configurations properly

* added new tests to check if the ContextConfigurationSetReader is able to find all context configurations properly

* adapted cli and template tests for correct use of template sets

* implemented requested changes

* implemented requested changes

* Loading of util classes from devon4j-template

* implemented loading of util classes from template-sets. Fixed template and cli tests

* added Javadoc

* fix compilation error in tempalte test

* fixed that the templates folder always was created

* fix TemplateProcessingTest

* implemented requested changes

* implemented requested changes

* adapted getJarFile to use Path instead of File

* ignore Eclipse AdapteTemplatesTest

* changed downloadJar

* changed getJarFile from file to path in eclipse project

* 1501 Separation of Java Utils across template sets (#1514)

* Adjust documentation (#1491)

* fixed some types and links and corrected some parts of the documentation

* adjust angular client guide

* fixed typo

* fixed requested changes

* implemented new template set configuration reader

* added new tests to check if the ContextConfigurationSetReader is able to find all context configurations properly

* added new tests to check if the ContextConfigurationSetReader is able to find all context configurations properly

* adapted cli and template tests for correct use of template sets

* implemented requested changes

* implemented requested changes

* Loading of util classes from devon4j-template

* implemented loading of util classes from template-sets. Fixed template and cli tests

* added Javadoc

* fix compilation error in tempalte test

* fixed that the templates folder always was created

* fix TemplateProcessingTest

* seperation of util classes

* implemented requested changes

* implemented requested changes

* changed template test

* changed abstractclitest

* adapted getJarFile to use Path instead of File

* ignore Eclipse AdapteTemplatesTest

* changed downloadJar

* changed getJarFile from file to path in eclipse project

* updated jackson-databind version

* Template set deployables test optimizations (#1515)

* update mockito and Hamcrest

* adapt TemplatedProcessingTest to work as expected

* #1452 fixed eclipse build.properties and .classpath

* #1452 implemented requested changes
changed cobigenHome from File to Path

* #1452 implemented requested changes

* #1452 removed unnecessary lambda because of more effective mockito

* Revert "#1452 removed unnecessary lambda because of more effective mockito"

This reverts commit e85dde5e9ae5d4f542f521ef1a7e5bf76b37acec.

* test without mockito partial mock

* #1452 re-introduced mockito changes with latest changes from template-set-deployables
renamed findTemplateSetJarsWithBackwardsCompatibilityTest to findTemplateSetsDownloadedFolderTest
fixed logic of findTemplateSetsDownloadedFolderTest

Co-authored-by: LarsReinken <lars.reinken@capgemini.com>

* Add tags, detailed description and tutorial links to config files (#1500)

* #1403 changed pciture and added text to make it very clear what plugins should be installed

* Adjust documentation (#1491)

* fixed some types and links and corrected some parts of the documentation

* adjust angular client guide

* fixed typo

* fixed requested changes

* #1463 added options for tags, detailed descriptions and links to xsd

* #1463 added new version to constants and generation to pom

* #1463 updated version, rearranged newly added xsd elements, updated method getTrigger in configurationReader

* #1463 adpated xsd to not have a weird method, made config version non-backwards compatible, changed config reader to read single trigger

* #1463 schema version upgraded from 2.x to 2.3 in templates.xml and context.xml
added new explanation attribute to the first Increment in templates.xml
added links attribute to context.xml

* #1463 spell correction of some explanation attributes

* #1463 modified from v4.0 to v2.3 in pom.xml
explanation correction for crud_java_server_app templates.xml
link added to crud_java_server_app context.xml

* #1463 changed versions of configs

* #1463 changed config versions

* #1463 removed core changes for now

* added back linebreaks at file endings

* #1463 removed trigger node from xsd

* #1463 changed version attributes in xsds and added templateengine node from v4.0 to v5.0

* #1463 changed xsd to get a list of triggers for now, added new schema versions with upgrades

* #1500 fixed failing tests, adressed requested changes, removed some tests for now

* #1463 re-added accidently deleted v2.2 schema, changed versions of config files to latest versions

* #1463 re-removed 2.2 schema, added missing version to upgrader

* deleted unnecessary files

* removed unnecessary changes

* added new xsd version back to pom

* readded template version 5.0 to version enum

* fixed pom error

* fix compilation errors

* fix syntax error in context.xml

* changed contextconfiguration 3.0 schema

* added ignore to tests

* fix whitespaces in templates.xml


Co-authored-by: GuentherJulian <69513769+GuentherJulian@users.noreply.github.com>
Co-authored-by: Mansour Dukhan <mansour.dukhan@capgemini.com>
Co-authored-by: Julian Günther <julian.guenther@capgemini.com>

* 1455 adaption of template sets (#1520)

* Adjust documentation (#1491)

* fixed some types and links and corrected some parts of the documentation

* adjust angular client guide

* fixed typo

* fixed requested changes

* implemented independent adaption of template sets

* fix adapt template cli test

* ignore AdaptTemplatesCommandTest and further implementations for TemplateAdapter

* added tests for the template adapter

* implemented requested changes

* changed TemplateAdapter

* 1511 enable custom template set group ids for lookup (#1525)

* #1511 added new method to read properties in ConfigurationFinder.java
new TemplateSetConfiguration Class to save properties
new test cases in ConfigurationFinderTest.java

* #1511 fixed logic in method readTemplateSetConfiguration in ConfigurationFinder
added hideTemplates variable in TemplateSetConfiguration
completed 2 out of 3 tests cases

* #1511 corrected CheckTemplateSetConfiguration logic in ConfigurationFinder.java
Test cases Correction for CheckTemplateSetConfiguration in ConfigurationFinderTest.java
New Constants for the new properties created in ConfigurationConstants.java
CheckTemplateSetConfiguration Called in load function in CobiGenPropertiesReader.java

* #1511 canceled the method call in load properties in CobiGenPropertiesReader.java

* #1511 written Documentation
Modified the properties function to read properties
corrected tests

* #1511 documentation correction

* #1511 Documentation correction

* #1511 Documentation Correction

* #1511 requested changes

* #1511 requested changes #2

* #1511 requested changes 2

* #1511 requested changes

* #1511 fix defaultGroupId logic

* 1511 enable custom template set group ids for lookup (#1535)

* #1511 added new method to read properties in ConfigurationFinder.java
new TemplateSetConfiguration Class to save properties
new test cases in ConfigurationFinderTest.java

* #1511 fixed logic in method readTemplateSetConfiguration in ConfigurationFinder
added hideTemplates variable in TemplateSetConfiguration
completed 2 out of 3 tests cases

* #1511 corrected CheckTemplateSetConfiguration logic in ConfigurationFinder.java
Test cases Correction for CheckTemplateSetConfiguration in ConfigurationFinderTest.java
New Constants for the new properties created in ConfigurationConstants.java
CheckTemplateSetConfiguration Called in load function in CobiGenPropertiesReader.java

* #1511 canceled the method call in load properties in CobiGenPropertiesReader.java

* #1511 written Documentation
Modified the properties function to read properties
corrected tests

* #1511 documentation correction

* #1511 Documentation correction

* #1511 Documentation Correction

* #1511 requested changes

* #1511 requested changes #2

* #1511 requested changes 2

* #1511 requested changes

* #1511 fix defaultGroupId logic

* #1511 corrected hide annotation

* #1511 requested changes

* #1509 Ignore extractTemplatesWithOldCinfiguration (#1536)

* #1509 Ignore extractTemplatesWithOldCinfiguration
Fixed CLI adaptTemplatesTest
Fixed Eclipse testAdaptTemplates
Deleted generation from Eclipse Test

* removed exception that was used to differenciate between test and production and added an argument instead.

* #1509 Enabled extractTemplatesWithOldConfiguration

* #1509 Implemented requested changes

* #1509 Implemented requested changes

Co-authored-by: LarsReinken <lars.reinken@capgemini.com>

* #1519 added possible Log warning places for CLI (#1538)

* #1519 added possible Log warning places for CLI

* #1519 Implemented requested changes

* #1519 Deleted unneeded warn messages

* #1519 Clear Tests

* #1519 Fixed Eclipse Plugin Issues

* Revert "#1519 Fixed Eclipse Plugin Issues"

This reverts commit 9d4ca8b346d94c7f155d6057c5c8a73b1e5cb106.

* #1519 Fix Ignore Tag (changed Order)

* #1519 Fix Import Ignore

* #1519 throw DeprecatedMonolithicTemplatesException
in custom templates, if old templates found.
Ignore CLI custom templates Test

* remove duplicate DeprecatedMonolithicTemplatesException and allow creation with a force parameter which allows the createn of Cobigen with the old folder structure

* remove unnecessary throw

* adapt tests(ignore cli and eclipse since these tests should be adapted subsequently, force everything else)

* #1519 Force Old templates in GenerateMojo to run maven-systemtest
Fixed ConfigurationHolder Logger mismatch name

Co-authored-by: LarsReinken <lars.reinken@capgemini.com>

* Merged master into template-set-deployables feature branch (#1543)

* Adjust documentation (#1491)

* fixed some types and links and corrected some parts of the documentation

* adjust angular client guide

* fixed typo

* fixed requested changes

* changed eclipse repository to https

* #1291 changed nestserver version from 1.1.7 to 1.1.9 (#1523)

added new testMergingOverridesExportConst test and resources

* 1496 fix wrong thread in ExceptionHandler (#1527)

* #1496 replaced Runnable with lambda

* #1496 passed activeShell to openInvalidConfigurationErrorDialog

* #1496 created a new thread for Exceptions handled by the ExceptionHandler (getActiveShell returned a wrong thread)

* #1496 re-enabled and fixed testConflictConfiguration test
made sure to check old context.xml case properly (context.xml in template project root)
added new checkForConflict method to ContextConfigurationReader
added processCobiGenWithExpectedError methods to EclipseCobiGenUtils
added new ExceptionHandlingTest

* #1496 added waitUntils of 10 seconds to ExceptionHandlingTest and processCobiGenWithExpectedError
added screenshot to processCobiGenWithExpectedError
added exception message to cleanWorkspace log
replaced Files.exist with Files.isDirectory in ContextConfigurationReader

* #1496 fixed project import and optimized shell handling
added missing .project file
removed waitUntils
removed extra placeholder in debug message
moved syncExec to openInvalidConfigurationErrorDialog method
removed activeShell param from openInvalidConfigurationErrorDialog

* #1496 added new Eclipse test troubleshoot issue

* #1496 removed unnecessary/unused rule

* use annotations of the patchfile, if javamerge_override is set. (#1490)

* #430 use annotations of the patchfile, if javamerge_override is set.

* implement merge method and use it to merge class annotation

* merge implementation of fields and methods, and tests

* Update JavaMerger.java

Co-authored-by: Malte Brunnlieb <maybeec@users.noreply.github.com>

* #1532 fixed HealthCheck not being able to handle a conflict with the old and new configuration (#1533)

* #1532 fixed HealthCheck not being able to handle a conflict with the old and new configuration
added new ConfigurationConflictException
replaced InvalidConfigurationException with ConfigurationConflictException in checkForConflict method
replaced InvalidConfigurationException with ConfigurationConflictException in testConflictConfiguration test
added new case for conflicted configurations to ExceptionHandler handle method
added catch of ConfigurationConflictException with adjusted message to healthCheckDialog execute

* #1532 replaced File with Path

* #1532 implemented requested changes
moved log message from eclipse to core

* added missing test files

* added missing comment

Co-authored-by: GuentherJulian <69513769+GuentherJulian@users.noreply.github.com>
Co-authored-by: Malte Brunnlieb <maybeec@users.noreply.github.com>
Co-authored-by: LarsReinken <lars.reinken93@googlemail.com>

* 1465 template set documentation (#1546)

* #1465 Adjusted documentation
added CobiGen Home title
updated template folder structure
added template sets folder structure
added separate CobiGen configuration file documentation

* #1465 Adjusted documentation
moved 'Custom template-set groupIds for lookup' into the CobiGen configuration file topic
renamed 'Custom template-set groupIds for lookup' to 'Template set attributes'

* #1465 Implemented requested changes
replaced tab stops with white spaces
removed non existing feature

* 1502 config upgrade (#1528)

* Adjust documentation (#1491)

* fixed some types and links and corrected some parts of the documentation

* adjust angular client guide

* fixed typo

* fixed requested changes

* changed eclipse repository to https

* implemented draft for template set upgrader

* trigger getting converted to xml

* context will be splitted, pom generation in progress

* removed useless fields

* removed some comments

* implemented some test

* upgrader implemented

* added backup folder for old templates

* added ignore to templatesetupgradetests

* added ignore to templatesetupgradetests

* chaanged upgrading process and changed the tests of the upgrade

* test for sucessful backup

* changed test to use multiple context files

* #1502 changed context version of reader test files to lates compatible

* changed context version in the jars from the test files

* reworked upgrade step to work with the upgrade prozess to 3.0

* #1502 fixed latest context version in javaplugin integration test

* #1502 fixed some more context versions in tests

* moved template upgrade process out of the abstract class

* implemented requested changes

* removed some files

* the requested changes have been added

* changed use of validate process for the readers

* removed log

* removed import

* #1502 added tags to template sets

* used correct formatting for few files

* #1502 addressed requested changes

* #1502 replaced generic exceptions with CobigenRuntimeExceptions

* #1502 applied proper code reformat

* #1502 fixed template set upgrader and tests
refactored context configuration validation into a new method validateContextConfigurationFile
set all template directories to proper path using ConfigurationConstants
added context configuration file exists and schema validation to testTemplateSetUpgradeCopyOfTemplates test

* #1502 fixed template set upgrader and tests
set all template directories to proper path using ConfigurationConstants

* #1502 fixed template set upgrader and tests
added exception to fail message

Co-authored-by: GuentherJulian <69513769+GuentherJulian@users.noreply.github.com>
Co-authored-by: Malte Brunnlieb <maybeec@users.noreply.github.com>
Co-authored-by: Julian Günther <julian.guenther@capgemini.com>
Co-authored-by: MikeSchumacher <mike.schumacher@capgemini.com>
Co-authored-by: jan-vcapgemini <jan-vincent.hoelzle@capgemini.com>

* #1531 Handle CLI Exception (#1544)

* #1531 Handle CLI Exception
Added 2 Test Cases for the Exception

* #1531 Implement Eclipse Handler logic
deleted unused CLI tests

* #1531 Handled Eclipse Exception
Enabled All Eclipse and CLI tests
Integrated Force into CLI tests
Integrated Bot to "Postpone" Exception in Tests

* #1531 Implemented requested changes
Integrated a handler in HealthCheck to handle MonolithicException

* #1531 implemented requested changes

* #1531 Deleted unnecessary comments

* #1531 Deleted redundant code
Added some comments

* #1511 requested changes
Added CLI Constants
Added Warning button instead of Error Button in Eclipse

* Added CLI Constants
Added Warning button instead of Error Button in Eclipse

* #1531 Adjusted and added missing JavaDocs

* #1531 Implemented requested changes

* #1531 requested Changes

* 1551 merge master into template_set_deployables (#1552)

* 1526 fixed infinite loop while generating from source code (#1547)

* #1526 added new Eclipse text input test
added a test which tests a simple generate from text input
added a new processCobiGenWithTextInput method to EclipseCobiGenUtils
refactored processCobiGen method
added new generateWithSelectedIncrements method to EclipseCobiGenUtils

* #1526 fixed infinite loop
wrapped getActiveWorkbenchWindow into asynchronous runnables
added workbenchWindow class variable
added extra check for FileEditorInput

* #1526 added missing files
added .classpath and .project files

* #1526 fixed Eclipse crash
changed asynchronous runnable to synchronized

* #1551 disabled GenerateFromTextInput test

* 1516 document new configuration structure (#1565)

* Documentation of upgrade steps + Link to wiki

* Fixing typos

* # 1521 Attached Template-set plugin for deployment (#1562)

* Attached Templsate-set plugin for deployment

* Artifact attached in parent pom

* Update pom.xml

* #1521 final Solution in templates-parent pom

* #1521 modified Plugin and classifer
Plugin now only in templates parent pom
Added Classifier so that the additional attached artifact has name alongside the maven co-ordinates

* #1521 Reformat templates-parent pom

* #1521 All template-set.xml empty files deleted

* 1510 allow template sets to be installed (#1554)

* initial commit

* template-sets will be installed at cobigen startup

* added tests

* removed old test

* removed comments

* added mavenCoordinates dataholder and reworked the functions

* added systemtest

* added creation of downloaded folder

* trying to fix cli tests

* removed unnessesary download of templates

* added check for downloaded folder

* revert changes to an old test

* added javadoc and adjusted documentation

* fixed wrong push

* #1510 implemented requested changes
changed test name and removed cobigen variable

* implemented requested changes

* initial implenetation of mocking the downloads

* added todo

* removed usage of Path

* removed initial try to mock downloads in tests

* chaged assertions to assertThat

* changed variables to correct camel case and used constants, Files and improved asserts

* fixed typo

* implemented requested changes

* fixed nullPointerbug with lates commit

* implemented requested changes

Co-authored-by: jan-vcapgemini <jan-vincent.hoelzle@capgemini.com>

* #1529 added first implementation of extensible artifact search REST API (#1556)

* #1529 added first implementation of extensible artifact search REST API
added new getMavenArtifactsByGroupId to MavenUtils which takes a repository type (e.g. maven, nexus, jfrog) and a groupId to search for
added new SearchResponse tos to core-api utils
added new MavenUtilTest class (tests for proper json string parsing and REST API requests) and resources

* #1529 added missing dependencies

* #1529 implemented requested changes
added new RESTSearchResponseException
replaced IOException with RESTSearchResponseException

* #1529 fixed jFrog API

* #1529 implemented requested changes
changed repositoryType from String to MavenSearchRepositoryType enum
added new MavenSearchRepositoryType enum

* #1529 implemented requested changes
replaced fixed repository URLs with constants
added new MavenSearchRepositoryConstants

* #1529 implemented requested changes
converted MavenSearchResponseConstants to uppercase
added MAVEN, NEXUS and JFROG TARGET_LINK constants
added MAVEN_MAX_RESPONSE_ROWS constant
added javadoc to all models (moved main model to top)
renamed json response models

* #1529 adjusted nexus REST API
adjusted nexus REST API to v2.0
adjusted nexus REST API tests and resources to v2.0
refactored createDownloadLink method (moved to AbstractRESTSearchResponse)
added new constants for MAVEN_REPOSITORY_LINK, NEXUS_REPOSITORY_URL, NEXUS_REPOSITORY_URL, NEXUS_TARGET_LINK, NEXUS_DC_ID
added ec param to MavenSearchResponse

* #1529 disabled jfrog REST API test

* #1529 added optimizations + authentication
added bearer token authentication
added bearer token to jfrog
renamed nexus to nexus2 repository type
added nexus3 repository type
added more tests for code coverage

* #1529 applied factory pattern
added new SearchResponse interface
made all SearchResponse types inherit from SearchResponse
added new SearchResponseFactory
refactored getArtifactDownloadLinks method
added new getAvailableSearchInterfaces method (used to register new search interfaces)
added getRepositoryType to SearchResponse parent class (returns the type of repository as an enum)

* #1529 moved utility methods from factory class to util class
added new SearchResponseUtil class

* changed javadoc

* #1529 implemented requested changes
renamed RESTSearchResponse signature msg to message

* #1529 implemented requested changes
removed limitRows functionality
removed NEXUS2_DC_ID from target link
adjusted MavenSearchResponseConstants javadoc

* #1529 implemented requested changes
converted getAvailableSearchInterfaces method to final list of SearchResponses
adjusted javadoc

* #1529 added missing javadoc

* #1529 implemented requested changes
added more detailed javadoc

* #1529 implemented requested changes
converted RESTSearchResponseException name to PascalCase

* #1529 implemented requested changes
renamed getMavenArtifactsByGroupId to retrieveMavenArtifactsByGroupId

* #1529 implemented requested changes
renamed getArtifactDownloadLinks to searchArtifactDownloadLinks

* #1529 implemented requested changes
moved multi search response classes to separate packages

* #1529 implemented requested changes
improved javadoc readability

* #1529 implemented requested changes
converted SearchResponse to AbstractSearchResponse
refactored getJsonResponse
added new retrieveJsonResponseWithAuthentication method to AbstractSearchResponse
renamed getJsonResponse to retrieveJsonResponse

* #1529 implemented requested changes
refactored getDownloadURLs method
added new removeDuplicatedDownloadURLs method to AbstractSearchResponse
renamed getDownloadURLs to retrieveDownloadURLs

* #1529 implemented requested changes
refactored SearchResponseUtil methods
moved SearchResponseUtil methods to AbstractSearchResponse
removed SearchResponseUtil class

* #1529 implemented requested changes
removed throw CobiGenRuntimeExceptions to ensure that an error with the API won't stop CobiGen execution
replaced CobiGenRuntimeException in MavenUtil with error log and a return of null
converted testWrongRepositoryTypeThrowsException to testRetrieveMavenArtifactsWithInvalidLinkReturnsNull
replaced throw exception with error log message

* #1529 implemented requested changes
refactored getJsonResponseStringByTargetLink
replaced getJsonResponseStringByTargetLink with retrieveJsonResponseWithAuthenticationToken
added MavenSearchRepositoryType to retrieveJsonResponseWithAuthenticationToken

* #1529 implemented requested changes
replaced fixed ignored json properties with ignore unknown param

* #1529 added WireMock to tests
made ignored tests functional with WireMock
added WireMock stubs for each case
updated jersey from 3.0.5 to 3.0.7
added wiremock-standalone 2.27.2 (used older version because of conflicts with jackson)

* #1529 reduced WireMock logging
added logback-test.xml (sets WireMock to WARN log level)

* #1529 updated jackson
updated jackson-databind from 2.13.2.2 to 2.13.3

* #1529 fixed FileUtils issue
replaced readString with readAllBytes

* #1529 implemented requested changes
renamed baseURL to baseUrl
removed LOG concatenation

* #1529 implemented requested changes
removed ProcessingException from SearchResponseFactory

* #1529 implemented requested changes
added artifactory path to jfrog target link constant

* #1529 removed jersey dependencies
replaced jersey with OkHttpClient
restricted MavenUtilTests (added check of messages)
added jackson-databind to core-api dependencies
added okhttp to core-api dependencies

* #1529 updated okhttp
changed okhttp version from 4.9.1 to 4.10.0

* #1529 added okhttp version to root pom
added latest okhttp dependeny to root pom.xml
removed fixed okhttp versions from core-api and core-externalprocess-api

* #1529 added okio
added transitive okio dependency

* #1529 implemented requested changes
Changed enum values to uppercase

* #1529 implemented requested changes
moved status into not null if condition

Co-authored-by: EduardKrieger <eduard.krieger@capgemini.com>

* fixed merge errors

* fix merge error (#1581)

* fix merge error

* changed restoreSystemProperties to withEnviromentVariable

* 1518 automatically ask for upgrade on reading monolithic templates from a folder (#1553)

* #1518 Integrated the context upgrader into TemplatesAdapterImpl
and Into the CLI

* #1518 Reactivated Ignored tests
Refactored processCobiGenAndPostponeUpgrade

* #1518

* #1518 Integrated the upgrader into the CLI

* #1553 adjusted v5.0 template configuration file
removed optional param from valid 5.0 template configuration file as it is not required for an upgrade check because of backwards compatibility

* #1533 fixed upgrade tests
re-introduced version to version test (removed upgrade to latest version tests)
re-introduced schema version validation tests (removed validate against latest schema test)
refactored resolveLatestCompatibleSchemaVersion
added new maxVersion param for tests (limits the versions list to the provided maximum version)
added new limitVersions method (limits the versions list to provided maximum version)
added new isConfgurationFileCompatibleToSchemaVersion method (checks if the version is compatible to the configuration file)
added new testV2_1IsIncompatibleToV3_0Schema test to make sure that v3.0 is not backwards compatible to v2.1

* #1518 Implement the upgrader to be dynamic with custom templates
changed src/main/templates to src/main/resources in template-sets

* #1518 Implemented requested changes.
Implemented a class TimeStampUtil for the timestamp.
Implemented a starting point to check the 30 day postpone in CLI.

* #1518 Upgrader Test

* #1518 Upgrader Test 2

* #1518 Integrated Timestamp into Eclipse
Wrote CLI Upgrader Test
New Implementation of isTemplateSet based on versioning the context.xml
Collectors methods in FileSystem to collect paths of context.xml and templates.xml
New TimeStampUtilTest
New CLI option to upgrade the configuration in one command
New FileSystemUtilTest
Restored monolithic context.xmls to their original versions in tests
Added a small monolithic templates project in CLI to test the upgrader
Implemented a new structure for Eclipse to recognize the template-sets after the upgrade (still needs to be tested).
Ignore testFindTemplateslocation (for some reason the test cannot recognize the specified user.home)
Adjusted Findtemplates to prefer template-set instead of the old configuration if both folders are found in Home.

* #1518 Test Correction

* #1518 Test Correction

* #1518 Test Correction

* #1518 Test Correction

* #1518
Deleted MavenXpp classes from the upgrader, now only copy the pom and replace with regex
Implemented the upgrader into Eclipse
After the upgrade now, Eclipse should be able to read the new template-set structure and generate from them
Implemented new upgrader test for Eclipse

* #1518 Test correction

* #1518 Test Correction

* #1518 Eclipse tests correction

* #1518 Eclipse test correction

* #1518 Implemented requested changes

* #1518 implemented requested changes

* #1518 Implemented requested changes

* #1518 Implemented requested changes

* #1518 Implemented requested changes

* #1518 Implemented requested changes

* #1518 Fixed Eclipse small Issue not identifying the template-set folder structure

* #1566 Implemented requested changes

* #1518 Implemented requested changes

* #1518 Implemented requested changes

* #1518 Implemented requested changes
Deleted all public static fields in eclipse, to be solved in a new Issue

* #1518 fixed null check

* #1518 Implemented requested changes
Modified the upgrade process to upgrade inside the original templates folder using the rename method

* #1518 Core-Tests correction

* #1518 reworked renaming process

* #1518 Reworked renaming process 2

* #1518 rename of templates folder working for some cases

* #1518 reworked templateUpgraderTests

* #1518 Added Jacoco check On Cli and Maven projects

* #1518 Implemented requested changes

* #1518 added test of backup files

* #1518 Fixed getPomLocation from Homepath

* #1518 Fixed bug of arraylist and refactored some methods

* #1518 Implemented requested changes

* #1518 Fixed Eclipse upgrade test

Co-authored-by: jan-vcapgemini <jan-vincent.hoelzle@capgemini.com>
Co-authored-by: EduardKrieger <eduard.krieger@capgemini.com>

* 1580 rework test application using entity class (#1603)

* fixed mistakes in the POC tutorial

Co-authored-by: Felix felix.berger@capgemini.com

* Shortened and edited the tutorial + updated screenshots

* a few layout and spelling/phrasing corrections

* 1517 discovery of template sets (#1585)

* First implementation of settings.xml mapping

* Completed mapping of the needed components, refactoring, added JavaDocs, added log output

* Added test class, removed unnecessary code

* #1530 added maven settings password decryption
added org.codehaus.plexus sec-dispatcher dependency
added org.codehaus.plexus cipher dependency
added MavenSettingsUtil
added MavenSettingsUtilTest and resources

* #1530 adjusted test method name

* Added tests, did refactoring

* Added missing JavaDocs, tests are now using asserThat(), more improvements addressing change requests on the pull requests

* #1530 added basic authentication type
replaced authToken with password
added basic username and password authentication

* #1530 renamed REST search API constants

* #1530 handle template-set.xml
made sure that only template-set.xml files get returned as download links
added new template-set.xml to ConfigurationConstants
added a valid template-set.xml example to test resource files
removed extra outputs (non template-set.xml) from test assertions
added classifier to Nexus2Response
renamed retrieveDownloadUrls to retrieveTemplateSetXmlDownloadURLs

* #1530 added some fixes
fixed credentials not being used
fixed too many httpclient calls being used
added new test for a failed basic authentication
added new test for a failed token authentication
enabled bad url test

* #1530 cleaned up exceptions
removed JsonMappingException because it is already being handled by JsonProcessingException

* Switched from javax to jakarta, resolved comments from the pull request

* Tidied up code

* Changed path generation

* Added unmarshalling for mirrors, added loading of active profiles, added preperation of settings.xml

* added function, which returns repositories of all active profiles

* #1530 improved log messages
adjusted log messages (converted to debug, made factory process messages more transparent)
converted RestSearchResponseException status code from string to integer

* Added utils to operate with mirrors specified in maven's settings.xml

* Optimized MavenSettingsUtilTest, added first code of MavenMirrorUtilTest

* Fixed bugs, added tests for matchPattern

* Completed MavenMirrorUtil class, completed tests

* determined active profiles, added method to determine repositories of active profiles and inject mirrors in repository urls

* Minor optimisations

* Added collection of servers private key and passphrase

* Refactoring of classes in a new maven module

* #1530 added exception messages to constants

* #1530 adjusted exception handling
replaced exception strings with constants
added retrieveRestSearchApiTargetLink method
adjusted SearchResponseException with dynamic message
adjusted tests to check for exception types and message content

* Fixed merge bugs

* #1517 Refactoring
Refactored changes from #1530 into #1517
Moved #1530 files into MavenSearch package

* #1517 Added proxy to http client

* #1517 added eclipse project files

* Removed MavenSettingsUtil

* #1517 changed the process of getting active profiles
added artifact retriever
removed unsecessary code

* #1517 added multiple tests

* #1517 improved WireMock log messages
moved logback-test.xml from core-api to core-artifact-retriever

* #1517 introduced server credentials
moved all server credentials into new object
added new MavenSearchArtifactRetriever class
added new ServerCredentials class
adjusted tests to utilize server credentials
deleted MavenArtifactsUtil

* #1517 Added proxy util and tests

* #1517 removed exceptions
replaced exceptions with debug log messages
adjusted tests

* #1517 Reworked MavenProxyUtil, updated tests

* #1517 replaced more exceptions with log messages
removed obsolete retrieveMavenArtifactsByGroupId method

* #1517 implemented requested changes
converted null returns to empty lists
added new debug message to indicate that the search is proceeding
converted MavenSearchArtifactRetriever to static class
added more tests
adjusted test descriptions

* #1517 Combined ArtifactRetriever with MavenSearch
added artifactRetriever logic
prepared artifactRetriever tests

* #1517 ArtifactRetriever test preperation

* #1517 added first ArtifactRetriever tests
added example template-set.xml
added example json response for WireMock
added WireMock tests for proxy and non proxy connections as well as basic authentication
added more log messages for proxy usage and basic authentication usage
fixed NPE in MavenSettingsUtil and ArtifactRetriever

* #1517 added proxy server authentication
added basic authentication to proxy connection
added tests for proxy authentication
added proxyUsername and proxyPassword to ServerCredentials

* #1517 split test classes
split test classes of maven search

* #1517 re-organized test resources
simplified json test resource files for MavenSearchResponse tests

* #1517 fixed ArtifactRetriever proxy test
added 2nd WireMock server
adjusted settings.xml to use proxy properly

* #1517 Added ArtivactRetrieverReader

Co-authored-by: Leonie leonie-heidi.schuessler@capgemini.com

* Removed unused test

* #1517 removed util package from mavensearch

* #1517 optimizations
fixed typo
moved file reader from test to generateMavenTemplateSetConfiguration method
adjusted javadocs
added more debug information

* #1517 renamed reader models

* #1517 removed util package from mavensearch

* #1517 added template set version and tests
added retrieveTemplateSetData method (converts a list of template set files to TemplateSetArtifactReader)
added more tests and test resources
converted TemplateSetArtifactReader to stateful class
added simple template set version retrieval
adjusted tests
removed tag names and increment descriptions from TemplateSetArtifactReader
removed setupClass method from TemplateSetArtifactReaderTest (moved initialization to each test)

* #1517 renamed MavenReaderTest resource folder
renamed MavenReaderTest resource folder to TemplateSetArtifactReaderTest

* #1517 set java version to 11

* #1517 Removed java 11 dependency

* #1517 removed java 11 dependencies

* #1517 replaced List.of with simple List

* #1517 implemented requested changes
renamed get... methods
adjusted/added javadocs

* #1517 implemented requested changes
removed .classpath and .project files
moved timeout values to constants
converted SEARCH_RESPONSES from Object to AbstractSearchResponse
moved regex version number detection to constant

* #1517 implemented requested changes
saved the return of Systemutils.getUserHome() and determineMvnPath in a static variable to avoid multiple calls of the method

* #1517 implemented requested changes
added javadoc descriptions

* #1517 adjusted javadocs and class name
fixed type of Nexus2SearchResponseArtifactLinks

* #1517 Removed exceptions from tests, added javaDocs

* #1517 implemented requested changes
removed unnecessary returns

* #1517 adjusted artifact reader
adjusted artifact reader to latest TemplateSetConfiguration
added ContextConfiguration and TemplatesConfiguration entities
adjusted tests

* #1517 introduced new TemplateSet entity
replaced TemplateSetArtifactReader constructor with new retrieve method
adjusted tests

* #1517 implemented requested changes
removed unnecessary caching of user home and maven paths

* #1517 implemented requested changes
added zeroturnaround zt-exec 1.12 to the root pom as a managed dependency

* #1517 implemented requested changes
removed unnecessary build of test-jar

* #1517 #1517 implemented requested changes
adjusted debug log message
made sure that missing files won't break the retrieval process
added new testRetrieveTemplateSetArtifactWithMissingFile test

* #1517 implemented requested changes
changed wiremock dependency to wiremock-jre8 2.35.0

* #1517 implemented requested changes
changed java version to 11

Co-authored-by: jan-vcapgemini <jan-vincent.hoelzle@capgemini.com>

* #1619 cleanup docs

* #1619 upgrade all sources to jdk 11

* #1619 fix plugins build to run on jdk 11

* spelling corrections

* Added correct settings URL for cobigen setup

* Fix merge error

* Removed xvfb-action

as ubuntu-latest already contains xvfb and the action is not under maintenance anymore

* trying to fix strange execution problem in GHA

* Also resolve and cache dependencies for tycho

+ removing ansi suppression as of strange error on windows builds

* fix build on windows

* fixed 2018-12 target + fixed eclipse test + fixed M2E compatibility

* removed unnecessary junit headless dependency failing on sonar run

* upgraded openapi parser to latest version of networknt

* upgraded openapi parser to latest version of networknt

* Revert "upgraded openapi parser to latest version of networknt"

This reverts commit efdc183f3f7d17f5fae3e16954cc09bc7e3410fe.

* Revert "upgraded openapi parser to latest version of networknt"

This reverts commit b76c231efbe51a52005a66664e6e75ed524ef98a.

* removed stupid non-used testdata

* store workflow status for sonar analysis

* store workflow status for sonar analysis

* fix workflow

* added maven repository cache for faster execution (#1625)

* added maven repository cache for faster execution

* added maven repository cache for faster execution

* removed unnecessary else case

* trying to flatten CI/CD to speed up

* fixing dependency caching + fixing build component script + fixing matrix build

* fix dependency caching

* fix build script

* automatically enable debug mode + better matrix parameter view on github UI

* fixing detection of GHA debug mode

* debug test execution

* enabled new enableCrossOsArchive of github cache

* Workaround for actions/cache#1059

* fix workflow

* fix workflow

* fix workflow

* set java 17 for windows build

* actions/cache#1059 workaround - trying to locate m2 repo in working directory

* add logging out env to understand temporary debug mode detection

* fixed automated maven debug log on runner debug + trying to fix maven cache

* try to fix maven cache location consolidation accross OS

* trying different local repository setting

* fixing cache mismatches

* fixing checkout on windows

* more cache debugging!

* more cache debugging!

* more cache debugging

* fixing odd cache path

* new try for cross-os build-config

* new try for cross-os build-config

* new try for cross-os build-config

* new try for cross-os build-config

* new try for cross-os build-config

* trying to fix maven repo cache

* splitting dependency resolution and plugin resolution

* enabling batch processing and fixing maven settings

* built just once on linux + restore also p2 for tests + removed debugging

* trying to fix tests by providing test settings.xml in home folder

* Fix settings overwriting

* enable xvfb run for linux for eclipse tests + fixing settings.xml overwriting

* fix settings.xml overwriting

* try fixing settings.xml rewrite

* changing path to be static on cache declaration

* removed coverage report to be executed everytime

* fixing m-m-m NlsBundle Exception on CLI tests

* fixing -h option for right color coding

* fixing p2 compiler issues

* debugging + cleanup

* workaround for https://github.com/m-m-m/code/issues/43

* disabled debug logging + readme update

* fixed a bug in findTemplates (#1630)

* fixed a bug in findTemplates, added more unittest for the ConfigurationFinder and also added the lost test in AdaptTemplatesCommandIT for the monolitic structure

* implemented requested changes

* changed names of the tests and improved javadoc

* try fixing unnecessary timeout on windows

* #1495 Combine template and configuration files into template set files (#1597)

* #1495 All changes in one commit

* #1495 Resolved merge conflicts

* #1495 Resolved conflicts

* #1495 applied stash

* #1495 deleted obsolete classes

* #1495 removed useless method

* #1495 Fixed templates.xml upgrader tests

* trigger map will be loaded correctly

* #1495 Fix for core-systemtests

* #1495 Removed duplicates

* fixed tests

* Revert "fixed tests"

This reverts commit da30dda55c9daf963cfa7b7ae961ddd2de3b8c27.

* added cli test

* #1495 new core tests for tempalate-set.xml

* #1495 Implemented a specifier for the reader

* Revert "#1495 Implemented a specifier for the reader"

This reverts commit 0edc655d80aa65c167dd2d30071e92d639a904dd.

* #1495 Changed templateSetConfiguration schema structure

* #1495 Fixed TemplateSetConfigurationReader to read the new templateSetConfiguration.xsd
added new Core tests and test resources

* fixed install templates test

* #1495 Added new test for Templatescan

* #1495 Deleted unnecessary resources

* Merged context.xml and templates.xml into template-set.xml for:
- crud-openapi-java-server-app
- crud-openapi-net
- crud-typescript-angular-client-app
- kafka-documentation
- named-queries
- openapi-documentation
- rest-documentation
- security-permissions
- testdata-builder

* #1495 Merged context.xml and templates.xml to template-set.xml

* #1495 Fixed template-scan issue

* #1495 Fixed syntax errors in template-set.xml Files

* #1495 Fixed Templatescan not finding the templates location

* #1495 TemplateSetReader combination test
added new constructors to template and context readers
cleaned up TemplateSetConfigurationReader
added templates and context configuration getters to TemplateSetConfigurationReader
changed all versioned imports to default io
initialized templates and context readers in TemplateSetConfiguration readConfiguration method
removed template set detection in templates and context configuration

* #1495 re-added template set condition
created templates and context configuration readers in template set readConfiguration method
added configFilePath to TemplatesConfiguration constructor
initialized templates and context configuration readers in template set readConfiguration method
cleaned up template set template scan test

* #1495 added more tests + resources
cleaned up test resources

* #1495 fixes
added ConfigurationHolder to TemplateSetConfiguration
added javadocs
fixed configFilePath in TemplatesConfigurationReader for template-sets
added templateSetConfigurationFile to TemplatesConfigurationReader
fixed templates subfolder being used for rootTemplateFolder
added a 2nd template-set to GenerationTestTemplateSetsXml

* #1495 removed unused method

* #1495 adjusted readConfiguration
removed readConfiguration call from TemplateSetConfigurationReader
added readConfiguration to TemplateSetConfiguration
filled maps of triggers and templates in TemplateSetConfiguration readConfiguration method
reformatted and adjusted test resource template-set.xmls

* #1495 fixed create and generate
replaced triggers in ContextConfiguration readConfiguration with template set triggers
added extra check to getConfigLocationForTrigger (checks if template set is available)
added getter for triggers to TemplateSetConfiguration
temporary fix for missing templateFolder in trigger
renamed test

* #1495 Added TemplateSetConfiguration directly into the configuraion holder
#	cobigen-cli/cli-systemtest/src/test/java/com/devonfw/cobigen/cli/systemtest/GenerateCommandIT.java
#	cobigen/cobigen-core-api/src/main/java/com/devonfw/cobigen/api/constants/ConfigurationConstants.java
#	cobigen/cobigen-core/pom.xml
#	cobigen/cobigen-core/src/main/resources/schema/v6.0/templateSetConfiguration.xsd

* #1495 fixed tests
added wip hack for template_scan conflict with "templates/templates" paths
moved "template/templates" root path creation into extra method initializeTemplateSetTemplatesRoot
fixed templateScan paths in test resources (jar file too)

* #1495 replaced mocked java plug-in
added testdata_builder template-set to core-systemtest resources
replaced mocked java plug-in with real input class

* #1495 Made the ConfigurationHolder a singleton and some other refactors

* #1495 removed ConfigurationFactory
moved retrieveTemplatesConfiguration and retrieveTemplateSetConfiguration to ConfigurationHolder

* #1495 removed singleeton again because this pattern didn't make sense here in the first place

* #1495 Lots of optimizations and cleanup
moved detection of template set from ContextConfiguration to ConfigurationHolder
added lots of javadoc comments
cleaned up AbstractContextConfiguration
replaced TemplateSetConfiguration in ContextConfiguration with ConfigurationHolder
added new Map rootTemplateFolders to ConfigurationHolder (replaces triggerConfigLocations?)

* #1495 added 2nd template to overrideMerge test

* #1495 more optimizations and cleanups
moved isTemplateSet check from TemplatesConfiguration to ConfigurationHolder
added new templatesConfigurations getter to ConfigurationHolder
cleaned up ContextConfiguration constructor (made sure that triggers won't be loaded again)
added a getter for increments to TemplateSetConfiguration

* #1495 initialized proper templates list
added templatesConfigurations to TemplateSetConfiguration
passed properly initialized TemplatesConfigurations to getMatchingTemplates if we are in template set

* #1495 more optimizations and cleanups
removed Context and TemplatesConfigurationReaders from TemplateSetConfigurationReader
initialized Context and TemplatesConfigurationReaders in TemplateSetConfiguration
removed retrieveTemplatesConfiguration method (moved logic into readTemplatesConfiguration)

* #1495 fixed template_scan root folder lookup

* #1495 added and cleaned up tests
added new classLoadingTemplateSetTest and resources
added new testTemplateSetCorrectDestinationResolution test and resources
reduced current test resource complexity
renamed testReadTwoTemplateSetXml to testReadMultipleTemplateSetXmls

* #1495 refactored loadTemplateSetFilesAdapted
moved retrieval of template set root folders to new method

* #1495 fixed conflict with templateRoot and utilsLocation
added new retrieveTemplateSetUtilsLocationForTrigger method

* #1495 fixed callClassLoadingTemplateSetTest
added proper resources

* #1495 added variableAssignments
added variableAssignments to ClassLoading template set system test
re-added fileSystemDependentPath handling to getConfigurationLocationforTrigger
fixed ClassLoading template set system test

* #1495
Some refactors

* #1495 Fixed error from previous push

* #1495 fixed fileSystem conflict replaced 2nd if condition with else fixed unit tests changed templateSetFiles field (might be unnecessary)

* #1495 disabled templates generation integration test

* #1495 added example template-set integration test
added example template-set integration test for crud-java-server-app template set
moved functions.ftl into root template folder of crud-java-server-app

* #1495 refactoring

* #1495 added a test for version conflict detection
some cleanup
added test resources

* #1495 removed static call

* #1495 more optimizations and fixes
split adapted and downloaded paths
removed duplicated methods from TemplateSetConfigurationReader (can be found in TemplateSetConfigurationManager)
fixed typos
added getter for configuration locations to TemplateSetConfigurationManager
removed file system creation and isZipFile check in ContextConfiguration retrieveConfigRootByTrigger and retrieveTemplateSetUtilsLocaitonByTrigger

* #1495 added example template-set integration test
added example template-set integration test for crud-openapi-java-server-app template set
moved functions.ftl and makros.ftl into root template folder of crud-openapi-java-server-app

* #1495 cleanup and test fixes
removed unnecessary templateSetFiles field
removed getTemplateSetFiles and addTemplateSetFiles methods
fixed TemplateSetConfigurationReader check if configurations were found (added downloaded template set paths check)
fixed template set reader unit tests

* #1495 fixed makros and functions
moved makros and functions into templates folder

* #1495 disabled version conflict test

* #1495 fixed github workflow
enabled enableCrossOsArchive for eclipse-test cache restore

* #1495 implemented requested changes
reverted changes on AccumulationType Matcher

* #1495 implemented requested changes
removed unused imports

* #1495 implemented requested changes
changed version float number
adjusted javadoc

* #1495 implemented requested changes
adjusted TemplateSetConfiguration initial release description

* #1495 implemented requested changes
adjusted/enhanced javadocs
fixed typos
removed links to Path

* #1495 implemented requested changes
changed throws from generic Exception to more specific ones
adjusted javadocs

* #1495 implemented requested changes
changed compare to equals (sonatype issue fixed)

* #1496 removed resource build
removed src/main/templates dependency

* #1495
updated javadoc for templateSetConfigurations

* added import that was lost in a merge

* #1495 renamed test resources and changed folder structure

* cleaning up the ressources and changing the structure to the new template set structure

* adjusted ressources after merge

* #1495 finallized test folder structure

* #1495 fixed template set test structure
moved templates and config files into src/main/resources

* #1495 fixed template set resolving
replaced src/main/templates with src/main/resources in TemplateSetConfigurationManager
removed template resource folder inside downloaded template set detection
removed initializeTemplateSetTemplatesRoot (will be handled by ts_scan configuration now)

* #1495 fixed template set tests
fixed template set resource configurations
disabled testTemplateSetsDuplicatedThrowsError test
added templates folder to each template set test resource configuration (fixes template_scan conflict)
added downloaded projects to test resources and built them in core pom.xml (removes dependency on binaries)
removed binaries from test resources
added test resource jars to .gitignore

* #1495 fixed template set projects
moved functions and makros into src/main/resources

* #1495 fixed cli tests
added downloaded test project and automatic build
replaced src/main/templates with src/main/resources

* #1495 fixed template set resource folder
fixed template set resource folder in crud-java-server-app template set test

* #1495 optimized template set tests
renamed single template set tests
removed unnecessary file copy operations in setupDevtemplates method
added test data builder test
added crud angular client app test

* #1495 fixed conflicted class load template set test

* #1495 added crud openapi net test to template set

* #1495 fixed template set jars

* #1495 adjusted GenerationIT system test
added template set jar test projects to system test
made sure that generation of all template sets (including downloaded jars) gets tested
added generated jars to .gitignore

* #1495 fixed plugin loading and jar pathing
added OpenApi test resource and test
renamed GenerationIT tests
added OpenApi dependency to core-systemtest and root pom

* #1495 resolved TODO
renamed src/main/resources constant to MAVEN_CONFIGURATION_RESOURCE_FOLDER

* #1495 resolved TODO
added javadoc for templateSetConfigurationFile
removed throws declaration

* #1495 modularized old monolithic template tests
added individual templateSet tests and resources to each templateSet project

* #1495 added missing typescript templateSet test

* #1495 resolved TODO
removed unused loadConfig method

* #1495 resolved TODOs
removed FileNotFoundException
made templateSetPaths private
removed TODOs which are not needed anymore

* #1495 resolved TODO
added extra condition for optional template folders in template sets
removed todo

* #1495 Fixed folder structure in crud-java-ea-uml

* added missing jars to ignore

* #1495 temporarily disabled test

* #1495 temporarily disabled tests

---------

Co-authored-by: MansourD <96188427+mdukhan@users.noreply.github.com>
Co-authored-by: MansourD <mansour.dukhan@capgemini.com>
Co-authored-by: EduardKrieger <eduard.krieger@capgemini.com>
Co-authored-by: Lurian <lurian-code@protonmail.com>
Co-authored-by: jan-vcapgemini <jan-vincent.hoelzle@capgemini.com>
Co-authored-by: Malte Brunnlieb <maybeec@users.noreply.github.com>
Co-authored-by: cedricarnauld123 <cedricarnauld2@gmail.com>

* added TODO

* added TODO

* fixed eclipse tests freezes
increased swt bot wait time of tests

* 1622 Restore and fixed adaptTemplatesTest on eclipse (#1641)

* #1509 Restored original code for adaptTemplatesAndGenerate Test #1622

* #1622 reformat to follow the next change

* #1622 reintroduce changes

* #1622 remove old templates update

---------

Co-authored-by: Cedric Betom <cedric.arnauld2@gmail.com>

* #1622 fixed eclipse adapt monolithic templates test
added templates folder
added some comments describing the scenario

* added TODO

* added TODO

* temporarily disabled upgrader test in eclipse

* added TODO

* applied proper reformat

* applied proper reformat

* applied proper reformat

* applied proper reformat

* applied proper reformat

* added method to change CobiGen home
use for tests only!!

* added TODO
adjusted javadoc

* adjusted javadoc

* added TODO
refactored with active trigger

* applied proper reformat

* refactored AbstractContextConfigurationReader
moved content of AbstractContextConfigurationReader into ContextConfigurationReader
removed AbstractContextConfigurationReader

* made fields private

* made fields private

* added TODO

* cleanup
changed to private
removed configRoot field (was not used)
removed configurationHolder field (was not used)

* removed unused interfaces

* adjusted template set documentation

* updated google guava to 31.1-jre

* made CobiGenFactory tests functional

* moved template-set.xml into correct folder

* applied proper reformat

* added test path check to CobiGenPaths
added some log messages to temporary CobiGen home test path usages

* added TODO

* applied proper reformat

* removed unused test resource files

* cleanup of ConfigurationFinder
enabled ignored tests
removed unused param
removed unused exceptions
added missing javadoc params

* moved method beneath constructor

* adjusted javadocs

* removed unused files

* fixed PostPoneUtil tests
replaced test resource dependency with temporary file

* removed extra isZipFile check

* cleanup

* adjusted template set upgrade documentation

* 1495 fixed working branch adapt templates feature (#1645)

* #1495 All changes in one commit

* #1495 Resolved merge conflicts

* #1495 Resolved conflicts

* #1495 applied stash

* #1495 deleted obsolete classes

* #1495 removed useless method

* #1495 Fixed templates.xml upgrader tests

* trigger map will be loaded correctly

* #1495 Fix for core-systemtests

* #1495 Removed duplicates

* fixed tests

* Revert "fixed tests"

This reverts commit da30dda55c9daf963cfa7b7ae961ddd2de3b8c27.

* added cli test

* #1495 new core tests for tempalate-set.xml

* #1495 Implemented a specifier for the reader

* Revert "#1495 Implemented a specifier for the reader"

This reverts commit 0edc655d80aa65c167dd2d30071e92d639a904dd.

* #1495 Changed templateSetConfiguration schema structure

* #1495 Fixed TemplateSetConfigurationReader to read the new templateSetConfiguration.xsd
added new Core tests and test resources

* fixed install templates test

* #1495 Added new test for Templatescan

* #1495 Deleted unnecessary resources

* Merged context.xml and templates.xml into template-set.xml for:
- crud-openapi-java-server-app
- crud-openapi-net
- crud-typescript-angular-client-app
- kafka-documentation
- named-queries
- openapi-documentation
- rest-documentation
- security-permissions
- testdata-builder

* #1495 Merged context.xml and templates.xml to template-set.xml

* #1495 Fixed template-scan issue

* #1495 Fixed syntax errors in template-set.xml Files

* #1495 Fixed Templatescan not finding the templates location

* #1495 TemplateSetReader combination test
added new constructors to template and context readers
cleaned up TemplateSetConfigurationReader
added templates and context configuration getters to TemplateSetConfigurationReader
changed all versioned imports to default io
initialized templates and context readers in TemplateSetConfiguration readConfiguration method
removed template set detection in templates and context configuration

* #1495 re-added template set condition
created templates and context configuration readers in template set readConfiguration method
added configFilePath to TemplatesConfiguration constructor
initialized templates and context configuration readers in template set readConfiguration method
cleaned up template set template scan test

* #1495 added more tests + resources
cleaned up test resources

* #1495 fixes
added ConfigurationHolder to TemplateSetConfiguration
added javadocs
fixed configFilePath in TemplatesConfigurationReader for template-sets
added templateSetConfigurationFile to TemplatesConfigurationReader
fixed templates subfolder being used for rootTemplateFolder
added a 2nd template-set to GenerationTestTemplateSetsXml

* #1495 removed unused method

* #1495 adjusted readConfiguration
removed readConfiguration call from TemplateSetConfigurationReader
added readConfiguration to TemplateSetConfiguration
filled maps of triggers and templates in TemplateSetConfiguration readConfiguration method
reformatted and adjusted test resource template-set.xmls

* #1495 fixed create and generate
replaced triggers in ContextConfiguration readConfiguration with template set triggers
added extra check to getConfigLocationForTrigger (checks if template set is available)
added getter for triggers to TemplateSetConfiguration
temporary fix for missing templateFolder in trigger
renamed test

* #1495 Added TemplateSetConfiguration directly into the configuraion holder
#	cobigen-cli/cli-systemtest/src/test/java/com/devonfw/cobigen/cli/systemtest/GenerateCommandIT.java
#	cobigen/cobigen-core-api/src/main/java/com/devonfw/cobigen/api/constants/ConfigurationConstants.java
#	cobigen/cobigen-core/pom.xml
#	cobigen/cobigen-core/src/main/resources/schema/v6.0/templateSetConfiguration.xsd

* #1495 fixed tests
added wip hack for template_scan conflict with "templates/templates" paths
moved "template/templates" root path creation into extra method initializeTemplateSetTemplatesRoot
fixed templateScan paths in test resources (jar file too)

* #1495 replaced mocked java plug-in
added testdata_builder template-set to core-systemtest resources
replaced mocked java plug-in with real input class

* #1495 Made the ConfigurationHolder a singleton and some other refactors

* #1495 removed ConfigurationFactory
moved retrieveTemplatesConfiguration and retrieveTemplateSetConfiguration to ConfigurationHolder

* #1495 removed singleeton again because this pattern didn't make sense here in the first place

* #1495 Lots of optimizations and cleanup
moved detection of template set from ContextConfiguration to ConfigurationHolder
added lots of javadoc comments
cleaned up AbstractContextConfiguration
replaced TemplateSetConfiguration in ContextConfiguration with ConfigurationHolder
added new Map rootTemplateFolders to ConfigurationHolder (replaces triggerConfigLocations?)

* #1495 added 2nd template to overrideMerge test

* #1495 more optimizations and cleanups
moved isTemplateSet check from TemplatesConfiguration to ConfigurationHolder
added new templatesConfigurations getter to ConfigurationHolder
cleaned up ContextConfiguration constructor (made sure that triggers won't be loaded again)
added a getter for increments to TemplateSetConfiguration

* #1495 initialized proper templates list
added templatesConfigurations to TemplateSetConfiguration
passed properly initialized TemplatesConfigurations to getMatchingTemplates if we are in template set

* #1495 more optimizations and cleanups
removed Context and TemplatesConfigurationReaders from TemplateSetConfigurationReader…
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
proc:estimated research Team_CobiGen_Templates These issues will be handeled by the team CobiGen_Templates
Projects
None yet
Development

No branches or pull requests

3 participants