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

As technology, I should support Separate architecture concerns regarding specification and implementation over multiple library projects (e.g fwk specification, fwk impl) #157

Open
26 tasks done
olivierlemee opened this issue Nov 25, 2022 · 5 comments · Fixed by #210 or #207
Assignees
Labels
line:mvf Action or item managed via the MVF production line dedicated to prototypes delivery priority:high High priority for treatment status:confirmed The will to process the item/request of work is confirmed and accepted type:demand Further information is requested

Comments

@olivierlemee
Copy link
Collaborator

olivierlemee commented Nov 25, 2022

https://www.notion.so/cybnity/494-60d068e7a53e4e81a38e6e51cd3c2bcc

REQ_MAIN_10: The software architecture shall separate the framework capabilities in a specification project (e.g org.cybnity.framework.spec) and in an independent technology core project (e.g org.cybnity.framework.core) allowing to manage the dependency and coupling from the other sub-projects (e.g software business domains, security capabilities).

BRANCH: initial FWK version including only unit test of runtime, main common dependencies to techstack, and that is based only on java libraries instantiation (not modularized and packaged as systems)

SUB_TASKS:

  • create techstack official v0 parent pom.xml
  • implement dependencies management and deliver techstack first release (release repo, pom.xml defined in demonstrator-line) and check build from foundation projects (including implementation of branches strategy and reused CI/CD workflow, tags politics...)
  • create techstack workflow ensuring maven deploy of techstack parent pom to cybnity repository only for released version, with automatic execution on pull_request validated on main branch
    • include manual quality check of official version of pom.xml via sample project :
      • dependencies quality (use mvn goals of dependency plugin of https://maven.apache.org/plugins/maven-dependency-plugin/ like dependency:analyze-duplicate checking none duplicate, display-ancestors checking zero, resolve-plugins checking maven plugins versions accessibility, resolve checking configured dependencies are accessible)
    • sample project implementing (as test) a test project with techstack pom parent (e.g check of mvn --file sample-project-pom.xml dependency:tree) of sample-project-pom.xml (e.g dependency:resolve, analyze-duplicate) and automatic deploy on remote repo
  • create pom files regarding foundations projects of implementation-line
    • implement foundation parent pom and sub-projects dependencies regarding specific techstack libraries (default config, dependency tree check to reduce duplicata of depend links)
    • create implementation of added dependencies in foundation projects to only need tech libraries (required as common and configured in sub-project as only usable) and documentation for developers about "how to add techstack version's dependency into a domain project" respecting the approach of pom hierarchy (lib version managed by techstack pom version, configuration of dependency declared into the dependencyManagement of a project compatible with techstack)
  • create first components structure and deliverable jar version (maven release repo) of foundation core project
  • add the license and notice per project as standard implementation, including the processing of the "release note/notice" by the CI/CD during "releasing via GitHub feature"
  • Update the implementation documentation for realign of design diagrams and/or enhancing of developers docs (e.g Implementation view at https://github.com/cybnity/foundation/blob/main/docs/uml/README.md ) about "guidelines & principles"
@olivierlemee olivierlemee self-assigned this Nov 25, 2022
@olivierlemee olivierlemee added type:demand Further information is requested priority:high High priority for treatment line:mvf Action or item managed via the MVF production line dedicated to prototypes delivery labels Nov 25, 2022
@olivierlemee olivierlemee added this to the OS MVF V0 - Framework milestone Nov 25, 2022
@olivierlemee olivierlemee added the status:confirmed The will to process the item/request of work is confirmed and accepted label Jan 4, 2023
@olivierlemee
Copy link
Collaborator Author

V0.2.0 official techstack version (reusable parent pom.xml) is implemented and automatically promoted (over cybnity maven remote repository) by CI chain of techstack project

@olivierlemee
Copy link
Collaborator Author

in progress coding of agreement-commitment feature project structure > to continue and finish check of good dependency today compiled with success (based on vert.x core good version) before to reproduce on other features-projects

@olivierlemee
Copy link
Collaborator Author

olivierlemee commented Jan 13, 2023

Build of infrastructure and RTS modules (structured projects) are tested and validated by the CI chain.

@olivierlemee
Copy link
Collaborator Author

frontend, backend, access-control projects structures OK. Continue the AC domain gateway default impl

@olivierlemee
Copy link
Collaborator Author

cleaning to receive future standardized structure based on access-control template for each repository about any domain application

This was linked to pull requests Feb 1, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
line:mvf Action or item managed via the MVF production line dedicated to prototypes delivery priority:high High priority for treatment status:confirmed The will to process the item/request of work is confirmed and accepted type:demand Further information is requested
Projects
Status: Ready for UAT stage
Development

Successfully merging a pull request may close this issue.

1 participant