Steps for migrating a Project with Renaming and Jenkins

Eventually perform
ssh-add ~/.ssh/id_rsa
  1. perform the migration as described in the SVN to Git Migration HowTo, i.e. if everything is already setup, just call
    cd ../repos/git/
    ./GitMigrationScript/git_migration.sh --project app-requester --svnGroup applications --organization fcc-applications --gitProject requester-app --add-gitignore
    afterwards, delete the temporary directory, that was created during migration
    rm -rf requester-app
  2. checkout the Git project in Eclipse, you can copy the ssh URL from Gitea
  3. edit the pom.xml in the Git project:
    • 3.1 change the groupId and artifactId to the new names
    • 3.2 if existing, please also update the name-tag
    • 3.3 replace the old scm-tags and instead, add
          <properties>
              <git.organization>fcc-applications</git.organization>
          </properties>
      
          <scm>
              <connection>scm:git:${git.view.url}/${git.organization}/${project.artifactId}.git</connection>
              <developerConnection>scm:git:${git.dev.url}/${git.organization}/${project.artifactId}.git</developerConnection>
              <url>${git.view.url}/${git.organization}/${project.artifactId}/commits/branch/${scmBranch}</url>
            <tag>HEAD</tag>
          </scm>
      • or <git.organization>fcc-commons</git.organization> in case of common projects without UI code
    • 3.4 update dependencies: use the renamed projects instead of the old ones
  4. do a snapshot deploy of the Git project, the project resides in ~/workspace-location/repos/git/project/
    mvn clean deploy
  5. commit and push your Git project changes
  6. Disable the Project in the acoap-svn group within Jenkins https://builder.acc.gsi.de/jenkins/job/acoap-svn/: click on the project name, on the following page, there is a disable button on the top right corner (when being logged in)
  7. edit the jenkins.sh script, remove all projects and just insert the one you want to upload to Jenkins in the section (you can checkout the project from Git using the URL git@git.acc.gsi.de:schaller/scripts.git)
    artifactsGSI_SVN_no_deploy=(
    )
    
    artifactsGSI_SVN=(
    )
    
    artifactsGSI_GIT=(
        "fcc-applications/requester-app"
    )
    
    artifactsCERN_LSA=(
    )
    
    downloadConfig=(
    )
  8. performscripted jenkins project creation (in ~/workspace-location/repos/git/)
    scripts/jenkins/jenkins.sh --group fcc-applications --branch master --no-deploy
    or --group fcc-commons-master respectively
    skip --no-deploy for artifacts that are used as dependencies (normally the case for all commons and library artifacts, not for applications)
  9. Check if the project is now available in Jenkins in the fcc-applications-master group https://builder.acc.gsi.de/jenkins/job/fcc-applications-master/, and click on the rightmost button to perform a build
  10. Checkout the old project from SVN (checkout, then configure->convert to Maven project). Then add the following relocation information with the new groupId/artifactId to the pom.xml (below the old GAV)
        <distributionManagement>
            <relocation>
                <groupId>de.gsi.fcc.applications</groupId>
                <artifactId>requester-app</artifactId>
                <version>13.1.0-SNAPSHOT</version>
            </relocation>
        </distributionManagement>
  11. do a last snapshot deploy of the old SVN project (will include the relocation information), the project resides in ~/workspace-location/project/
    mvn clean deploy
  12. commit your SVN project changes (includes the relocation information in the pom, which is ok)
  13. Document what you have done on this page twice: in the renaming table and the sequence list below
  14. Move the SVN project within the SVN repository to "moved_to_git_svn_not_available_anymore"
  15. (remove both projects from Eclipse with right mouse click -> delete -> delete project contents on disc (checkbox))

CSCOAP Repository

Group ID old Artifact ID old Old Java Package Name Group ID new Artifact ID new Git Organization New Java Package Name Git Migration and Rename done Package name changed Comment
de.gsi.cs.co.ap.accsoft accsoft-commons-physics-gsi de.gsi.bel.accsoft.commons.physics de.gsi.fcc.commons common-physics-lib fcc-commons tbd DONE 2020
de.gsi.cs.co.ap.accsoft accsoft-commons-value-gsi de.gsi.bel.accsoft.commons.value de.gsi.fcc.commons common-value-lib fcc-commons tbd DONE 2020
de.gsi.cs.co.ap.accsoft accsoft-security-rba-util-gui-gsi --- --- --- cern-gsi-collab-temp --- DONE Project stays as-is, used temporarily until RBAC is availabe at GSI
de.gsi.cs.co.ap.common cscoap-common-dependencies de.gsi.cs.co.ap.common.dependencies de.gsi.fcc.commons common-dependencies fcc-commons tbd DONE 2020
de.gsi.cs.co.ap.common cscoap-common-device-control de.gsi.cs.co.ap.common => merged into device-control-app
de.gsi.cs.co.ap.common cscoap-common-images de.gsi.cs.co.ap.common.images de.gsi.fcc.applications common-image-lib fcc-applications tbd DONE 2020
de.gsi.cs.co.ap.common cscoap-common-language-translator de.gsi.cs.co.ap.common.languagetranslator de.gsi.fcc.commons language-translator-lib fcc-commons tbd DONE 2020
cscoap-common-lsa-utils => merged into lsa-utils-ui
cscoap-common-operdb-intf => moved to attic
de.gsi.cs.co.ap.common cscoap-common-status-files de.gsi.cs.co.ap.cscoap_common_status_files de.gsi.fcc.commons devacc-status-lib fcc-commons tbd DONE 2020
cscoap-common-trim-helper => merged into lsa-utils-ui
cscoap-common-units => will be replaced by new unit framework
cscoap-common-units-ui => will be replaced by new unit framework
cscoap-common-units-ui-demo => will be replaced by new unit framework
de.gsi.cs.co.ap.common cscoap-common-utils de.gsi.cs.co.ap.common.utils de.gsi.fcc.commons common-utils fcc-commons tbd DONE 2020
de.gsi.cs.co.ap.common cscoap-hmvc-framework de.gsi.fcc.applications common-swing-hmvc-uilib fcc-applications tbd DONE 2020
de.gsi.cs.co.ap.common.gui.elements cscoap-common-gui-elements de.gsi.cs.co.ap.common.gui.elements de.gsi.fcc.applications common-widgets fcc-applications tbd DONE 2020
de.gsi.cs.co.ap.common.gui.elements cscoap-common-gui-elements-context-widget de.gsi.cs.co.ap.common.gui.elements.contextwidget de.gsi.fcc.applications context-widget fcc-applications tbd DONE 2020
de.gsi.cs.co.ap.common.gui.elements cscoap-common-gui-elements-schema-widget de.gsi.cs.co.ap.common.gui.elements.schemawidget de.gsi.fcc.applications common-schema-widget fcc-applications tbd DONE 2020
de.gsi.cs.co.ap.common.gui.elements cscoap-common-gui-elements-schema-widget-demo de.gsi.cs.co.ap.common.gui.elements.schemawidget.demo de.gsi.fcc.applications common-schema-widget-demo fcc-applications tbd DONE 2020

  java-units                
  xswingx                
  cscoap-demo-app-config                
  Playground/*                
  Scripts/*                

applications Repository

Group ID oldArtifact ID oldOld Java Package NameGroup ID newArtifact ID newGit OrganizationNew Java Package NameGit Migration and Rename donePackage name changedComment
de.gsi.cs.co.ap app-JavaProEmi de.gsi.cs.co.ap.app_JavaProEmi de.gsi.fcc.applications proemi-app fcc-applications tbd

DONE
GR, R├╝cksprache wegen Paketnamensschema
de.gsi.cs.co.ap app-JavaProfileGrids de.gsi.cs.co.ap.app_JavaProfileGrids de.gsi.fcc.applications expert-profilegrid-app fcc-applications tbd DONE GR, R├╝cksprache wegen Paketnamensschema
app-acc-fixed-display => RS: SVN code obsolet, continued elsewhere
de.gsi.aco.app.app app-bss-control de.gsi.aco.app.app.bsscontrol de.gsi.fcc.applications bss-control-app fcc-applications tbd DONE 2020 migrated including storage-ring-mode-branch
app-codesnippets de.gsi.fcc.applications fcc-applications
de.gsi.aco.app.app app-cs-panic de.gsi.fcc.applications expert-cs-panic-app fcc-applications tbd DONE
de.gsi.cs.co.sv.archiving.app app-dave de.gsi.cs.co.sv.archiving.app.dave de.gsi.fcc.applications dave-app fcc-applications tbd DONE 2020
de.gsi.cs.co.ap app-devCtrl de.gsi.cs.co.ap obsolete
de.gsi.cs.co.ap app-devCtrl-CE de.gsi.cs.co.ap de.gsi.fcc.applications device-control-app fcc-applications de.gsi.aco.device.control.app DONE ??? => merged into device-control-app
app-digitizer RS: SVN code obsolete, continued elsewhere
app-drivestat de.gsi.fcc.applications fcc-applications FS
de.gsi.cs.co.ap app-feedback de.gsi.cs.co.ap.app.feedback de.gsi.fcc.applications feedback-app fcc-applications de.gsi.fcc.feedback.app DONE DONE
app-fmgskal de.gsi.fcc.applications fcc-applications FS
app-fmgskal2 de.gsi.fcc.applications fcc-applications FS
app-frsRunSheetForm de.gsi.fcc.applications fcc-applications FS
de.gsi.cs.co.ap.app app-hf-service de.gsi.cs.co.ap.app.hf.service de.gsi.fcc.applications expert-hf-app fcc-applications de.gsi.aco.hf.app DONE DONE
de.gsi.cs.co.ap app-ionsrc de.gsi.cs.co.ap.app.ionsrc de.gsi.fcc.applications ionsource-app fcc-applications de.gsi.fcc.ionsource.app DONE DONE
de.gsi.bel.ap app-is de.gsi.bel.ap.app_is de.gsi.fcc.applications ionsource-mcs-app fcc-applications de.gsi.fcc.ionsource.mcs.app DONE DONE Saclay version is frozen, therefore not present in nightly build
de.gsi.cs.co.ap app-jedit-wrapper de.gsi.cs.co.ap.app.jedit de.gsi.fcc.applications jedit-wrapper fcc-applications de.gsi.fcc.jedit DONE DONE These wrapper projects are no in-house applications, they re-package other applications.
de.gsi.cs.co.ap app-launcher de.gsi.cs.co.ap.launcher de.gsi.fcc.applications launcher-app fcc-applications de.gsi.fcc.launcher.app DONE DONE
app-macrospill => RS: discontinued, new project with -service and -app are being setup, no migration needed
app-magstat de.gsi.fcc.applications fcc-applications FS
mock masp-gui mock.up de.gsi.fcc.applications masp-app fcc-applications de.gsi.fcc.masp.app DONE DONE pom ggf. nochmal aktualisieren vor dem Release -> Jutta (auf welchen branches?)
app-opticsviewer de.gsi.cs.co.ap.app.opticsviewer de.gsi.fcc.applications opticsviewer-app fcc-applications de.gsi.fcc.opticsviewer.app DONE DONE
de.gsi.cs.co.ap.lsa.app app-parammodi de.gsi.cs.co.ap.app.parammodi de.gsi.fcc.applications parammodi-app fcc-applications tbd DONE 2020 migrated including storage-ring-mode-branch
app-pema de.gsi.fcc.applications pema-app GR => riehl - Userspace
de.gsi.app app-profilegrid de.gsi.app.profilegrid de.gsi.fcc.applications profilegrid-app fcc-applications tbd DONE 2020
de.gsi.aco.fe app-prophelper-wrapper de.gsi.fcc.applications prophelper-wrapper fcc-applications DONE DONE These wrapper projects are no in-house applications, they re-package other applications. The wrapped python applications does not have packages / java package names.
de.gsi.aco.app app-remotelauncher-client de.gsi.aco.app.remotelauncher.client de.gsi.fcc.applications common-remotelauncher-client fcc-applications tbd DONE 2020
de.gsi.aco.app app-remotelauncher-server de.gsi.aco.app.remotelauncher de.gsi.fcc.applications common-remotelauncher-service fcc-applications tbd DONE 2020
de.gsi.aco.app app-requester de.gsi.aco.app.requester de.gsi.fcc.applications requester-app fcc-applications de.gsi.fcc.requester.app DONE DONE
app-scan de.gsi.fcc.applications fcc-applications WG
de.gsi.cs.co.ap.app app-scheduling de.gsi.cs.co.ap.app.scheduling de.gsi.fcc.applications scheduling-app fcc-applications tbd DONE 2020 migrated including storage-ring-mode-branch
de.gsi.cs.co.ap.app app-screenshot de.gsi.cs.co.ap.app de.gsi.fcc.applications screenshot-app fcc-applications de.gsi.fcc.screenshot.app DONE DONE
de.gsi.cs.co.ap app-septum com.cosylab.gsi.apps.septum de.gsi.fcc.applications expert-septum-app fcc-applications DONE --- Cosylab package name will not be changed.
de.gsi.cs.co.ap app-transmission-monitor de.gsi.cs.co.ap.app.transmission.monitor de.gsi.fcc.applications expert-transmission-monitor-app fcc-applications de.gsi.aco.transmissionmonitor.app DONE DONE
de.gsi.aco.app app-wallapp-launcher de.gsi.aco.app.wallapplauncher de.gsi.fcc.applications fixed-display-launcher-app fcc-applications de.gsi.fcc.fixeddisplay.launcher.app DONE 2020
de-gsi-ope-app-webviewer app-webviewer de.gsi.ope.app.webviewer de.gsi.fcc.applications webviewer-app fcc-applications tbd DONE 2020
de.gsi.aco.app.app app-whats-running de.gsi.fcc.applications expert-whats-running-app fcc-applications tbd DONE
app-common-chart => RS: SVN code obsolete, continued at https://github.com/GSI-CS-CO/chart-fx/
de.gsi app-common-gsiappbase de.gsi.app.common.gsiappbas de.gsi.fcc.applications common-appbase-uilib fcc-applications tbd DONE 2020 migrated including fair-frame-branch
de.gsi.app app-common-lsa-utils several.. de.gsi.fcc.applications common-lsa-utils-uilib fcc-applications tbd DONE 2020 merged cscoap-common-trim-helper and cscoap-common-lsa-utils into this project here
migrated including storage-ring-mode-branch
de.gsi appsvc-common-context-widget de.gsi.appsvc.common.contextwidget de.gsi.fcc.applications context-widget-service fcc-applications tbd DONE 2020
de.gsi.cs.co.ap.lsa.app lsa-app-calibration-viewer-gsi de.gsi.cs.co.ap.app.calibrationviewer de.gsi.fcc.applications calibration-viewer-app fcc-applications de.gsi.fcc.calibrationviewer.app DONE DONE
de.gsi.cs.co.ap.lsa.app lsa-app-equipmonitor-gsi de.gsi.cs.co.ap.lsa.app.equipmonitor.gsi de.gsi.fcc.applications equipmonitor-app fcc-applications de.gsi.fcc.equipmonitor.app DONE DONE
de.gsi.cs.co.ap.lsa.app lsa-app-equipstate-gsi de.gsi.cs.co.ap.lsa.app.equipstate.gsi de.gsi.fcc.applications equipstate-app fcc-applications tbd DONE 2020 migrated including javafx-rewrite branch
ope-benno de.gsi.fcc.applications fcc-applications zum/nach Release aktualisieren MO
de.gsi.acc.ope ope-top de.gsi.acc.ope.top de.gsi.fcc.applications top-app fcc-applications de.gsi.fcc.top.app DONE DONE
de.gsi sequencer de.gsi.sequencer de.gsi.fcc.applications sequencer-app fcc-applications tbd DONE 2020

Overall sequence for migrating the projects

  • 1. calibration-viewer-app
  • 1. common-dependencies
  • 1. common-swing-hmvc-uilib
  • 1. common-utils
  • 1. expert-septum-app
  • 1. jedit-wrapper
  • 1. prophelper-wrapper
  • 2. devacc-status-files-lib
  • 2. image-lib
  • 2. language-translator-lib
  • 3. common-appbase-uilib
  • 3. common-remotelauncher-service
  • 3. common-value-lib
  • 3. common-widgets
  • 4. common-physics-lib
  • 4. common-schema-widget
  • 4. equipmonitor-app
  • 4. expert-cs-panic-app
  • 4. expert-hf-app
  • 4. expert-profilegrid-app
  • 4. expert-transmission-monitor-app
  • 4. lsa-utils-uilib
  • 4. opticsviewer-app
  • 4. proemi-app
  • 4. sequencer-app
  • 4. screenshot-app
  • 4. webviewer-app
  • 4. common-remotelauncher-client
  • 5. context-widget-service
  • 5. device-control-app
  • 5. equipstate-app
  • 5. fixed-display-launcher-app
  • parammodi-app
  • 5. schema-widget-demo

  • 6. context-widget
  • 7. bss-control-app
  • 7. scheduling-app
  • 7. expert-whats-runnin-app
  • 8. launcher-app
  • ..

Update the new names in various places:

  • Change mkws scripts AS
  • jenkins.sh JF
  • reactor AS/JF
  • Change launcher configurations (urls to release artifacts in dev/int(vmla006)/pro: /common/usr/cscoap/htdocs/config/remotelauncher/applications_server) JF
    • How to see, if an application is present in the lauchner: you could grep for the name on pro ssh asl344 grep septum /common/usr/cscoap/htdocs/config/remotelauncher/\*

-- JuttaFitzek - 31 Jul 2019
Topic revision: r62 - 09 Jan 2020, BenjaminPeter
This site is powered by FoswikiCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Foswiki? Send feedback