@@ -107,6 +107,7 @@ public void tryStart() throws Exception {
107107 addKameletsProject ();
108108 addTemplatesProject ();
109109 addConfigurationProject ();
110+ addServicesProject ();
110111 }
111112 ready .set (true );
112113 } else {
@@ -128,6 +129,8 @@ private void importAllProjects() {
128129 project = new Project (Project .Type .kamelets .name (), "Custom Kamelets" , repo .getCommitId (), repo .getLastCommitTimestamp (), Project .Type .kamelets );
129130 } else if (folderName .equals (Project .Type .configuration .name ())) {
130131 project = new Project (Project .Type .configuration .name (), "Configuration" , repo .getCommitId (), repo .getLastCommitTimestamp (), Project .Type .configuration );
132+ } else if (folderName .equals (Project .Type .services .name ())) {
133+ project = new Project (Project .Type .services .name (), "Dev Services" , repo .getCommitId (), repo .getLastCommitTimestamp (), Project .Type .services );
131134 } else {
132135 project = projectService .getProjectFromRepo (repo );
133136 }
@@ -209,4 +212,31 @@ void addConfigurationProject() {
209212 LOGGER .error ("Error during configuration project creation" , e );
210213 }
211214 }
215+
216+ void addServicesProject () {
217+ try {
218+ Project services = karavanCache .getProject (Project .Type .services .name ());
219+ if (services == null ) {
220+ LOGGER .info ("Add dev services project" );
221+ services = new Project (Project .Type .services .name (), "Dev services" , "" , Instant .now ().toEpochMilli (), Project .Type .services );
222+ karavanCache .saveProject (services , true );
223+
224+ codeService .getDevServicesFiles ().forEach ((name , value ) -> {
225+ ProjectFile file = new ProjectFile (name , value , Project .Type .services .name (), Instant .now ().toEpochMilli ());
226+ karavanCache .saveProjectFile (file , false , true );
227+ });
228+ } else {
229+ codeService .getDevServicesFiles ().forEach ((name , value ) -> {
230+ ProjectFile f = karavanCache .getProjectFile (Project .Type .services .name (), name );
231+ if (f == null ) {
232+ LOGGER .info ("Add new service " + name );
233+ ProjectFile file = new ProjectFile (name , value , Project .Type .services .name (), Instant .now ().toEpochMilli ());
234+ karavanCache .saveProjectFile (file , false , true );
235+ }
236+ });
237+ }
238+ } catch (Exception e ) {
239+ LOGGER .error ("Error during services project creation" , e );
240+ }
241+ }
212242}
0 commit comments