odpi / egeria-dojo-developer

Provides the starting project structure for the developer dojo. The participant creates a clone of it and works from there - they do not merge their code back into the repository. There is also a branch which includes the sample answers that they can refer to if they get stuck.
https://egeria-project.org/education/egeria-dojo/developer/overview/
Apache License 2.0
1 stars 1 forks source link

[REPOSITORY] New Repository for developer dojo #1

Open mandy-chessell opened 1 year ago

mandy-chessell commented 1 year ago

Name

egeria-dojo-developer

Owner

mandy-chessell

Deliverable

Provides the starting project structure for the developer dojo. The particupant creates a clone of it and works from there - they do not merge their code back into the repository. There is also a branch which includes the sample answers that they cna refer to if they get stuck.

Build, test and CI-CD process

This repository will use gradle. It is written in Java. Both the main branch and the worked examples will build and so a build can be part of the PR process. The worked examples will run in an OMAGServerPlatform. There is no need to release/publish to maven central.

The changes made to this repository will be maintenance on the dojo content rather than participants answers.

Dependencies

Need egeria.git in dependencies to build (plus normal egeria dependencies such as Kafka). Need OMAGServerPlatform to run.

Justification

The current developer dojo uses maven and we want to shift it to gradle for 2 reasons:

The current developer dojo has the participant install maven before they begin. They cut/paste code and pom files from the dojo description in egeria-docs. It has the following problems:

This new repository will create a more useful starting point for the developer dojo.

Assumptions

Agreed

Additional Information

When this repo is available the developer dojo will be rewritten to use it.

Work Plan

Before creating the repo

Creating the repo

First steps

Getting CI/CD started & refining settings

Further Refinement

Release

planetf1 commented 1 year ago

When creating a repository, we can mark it as a template.

Currently we have one that I use for creating new connector repos (java) - as it saves time, but I believe other projects use them in a similar way to which you describe - for helping people get started with some work

See https://docs.github.com/en/repositories/creating-and-managing-repositories/creating-a-template-repository

This seems more appropriate than a fork/clone which implies an intent to contribute back.

planetf1 commented 1 year ago

@mandy-chessell I've created the initial template, but not from our example connector repo, as I think this is quite different (and is going to be > 1 module, and there's no publishing).

Do you want to start on the initial code setup, and then I can refine the checks/processes/gradle?

For a multi-module gradle build the egeria-database-connnectors repo is a simple example, whilst egeria itself is a large repo

planetf1 commented 1 year ago

@mandy-chessell I think the steps required for your work are done, but assigning to you to close in case any of the ticklist items you feel need doing.