Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

ODLSLI pom.xml initialization and dependencies

ODLSLI pom.xml:

...

Preliminaries and setting the version value of the ODLSLI docker image

Image Added

ODLSLI pom.xml: Prepare the directories and files for a 'docker build' command

The pom.xml file has uses three phases in the default build life cycle to prepare the directory structure and files in ./target/docker-stage to build the docker container .  They are:

  • validate
    • plugin: org.codehaus.groovy.maven : gmavin-plugin 
      • set the name version of the ODLSLI docker image to be used in NEXUS_DOCKER_REPO
      • Note: the name of the image is set in the property 'image.name' in the pom.xml properties section.
    • plugin: maven-resources-plugin
      • goal: copy-resources
        • id: copy-dockerfile
          • copy Docker file
          • from ./src/main/docker/
          • to ./target/docker-stage/
        • id: copy-scripts
          • copy all of the scripts (*.sh files)
          • from ./src/main/scripts/ 
          • to ./target/docker-stage/opt/onap/ccsdk/bin/
        • id: copy-odl-resources
          • copy the files:
            • idmlight.db.mv.db

            • org.ops4j.pax.logging.cfg

            • install_ccsdk.yml

            • ansible-sources.list

          • from ./src/main/resources/ 
          • to ./target/docker-stage/
        • id: copy-config
          • copy the file org.ops4j.pax.logging.cfg
          • from ./src/main/resources/
          • to ./target/docker-stage/
        • id: copy-data
          • copy all of the MySQL databases (*.dump)
          • from ./src/main/resources/ 
          • to ./target/docker-stage/opt/onap/ccsdk/data/
        • id: copy-properties
          • copy all of the properties files (*.properties)
          • from ./src/main/properties/ 
          • to ./target/docker-stage/opt/onap/ccsdk/data/properties/
        • id: copy-keystores
          • copy all *.jks files
          • from ./src/main/stores/ 
          • to ./target/docker-stage/opt/onap/ccsdk/data/stores/
  • generate-sources
    • plugin: org.apache.maven.plugins : maven-dependency-plugin
      • goal: unpack-dependencies
        • id: "unpack features"
          • unzip all of the dependencies
          • from a local or remote Maven repository
          • to ./target/docker-stage
          • Note: all of the zipped features are rooted at the "system" folder, so they will be unzipped in the proper structure for the OpenDaylight feature repository.
      • goal: unpack
        • id: "unpack dgs"
          • Unzip the zipped artifact org.onap.ccsdk.distribution : platform-logic-installer : ${project.version}
          • from a local or remote Maven repository
          • to .target/docker-stage/opt/onap/ccsdk/
          • Note: this unzips the artifact into the home directory of user ccsdk in the docker container
  • process-sources
    • plugin: org.codehaus.mojo : exec-maven-plugin
      • goal: exec
        • id: "change shell permissions"
          • This executes the following command in the local computer:
          • find ./target/docker-stage/opt/onap/ccsdk -name "*.sh" -exec chmod +x {} \;
          • I.e., make all of the bash scripts in the ccsdk home directory executable.

...