...
Include Page |
---|
| _This_Is_a_Draft |
---|
| _This_Is_a_Draft |
---|
|
From Archetype
Prerequisites
- Maven should be installed on your computer. SEE Software Requirements for Working in ETLUnit.
Generate ETLUnit Project from Archetype
Types of Projects of Interest
- Schema project
- ETLUnit project
Archetype Generation Steps
In a command window, navigate to the folder in which the project should reside.
Section |
---|
Column |
---|
| Code Block |
---|
language | bash |
---|
title | Navigate to new project location |
---|
| userme@LO-PPBBKK55 /c
$ mkdir src/my_etlunit_proj
userme@LO-PPBBKK55 /c
$ cd src/my_etlunit_proj
userme@LO-PPBBKK55 /c/src/my_etlunit_proj |
|
|
Obtain a list of ETLUnit-related available archetypes from Maven Central.
Section |
---|
Column |
---|
| Code Block |
---|
language | bash |
---|
title | Example of filtered list of available archetypes |
---|
| $ mvn archetype:generate | grep bradleysmithllc
768: remote -> org.bitbucket.bradleysmithllc.etlunit:etlunit-database-schema-archetype (-)
769: remote -> org.bitbucket.bradleysmithllc.etlunit:etlunit-feature-archetype (-)
770: remote -> org.bitbucket.bradleysmithllc.etlunit:etlunit-project-archetype (-)
771: remote -> org.bitbucket.bradleysmithllc.etlunit:feature-archetype (-)
772: remote -> org.bitbucket.bradleysmithllc.etlunit:project-archetype (-) |
|
|
Press <Ctrl>-C to end the command.
Next, list ALL archetypes from which you can select the one you want.
Section |
---|
Column |
---|
| Code Block |
---|
mvn archetype:generate
...
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 582:
...
111: 3.5.0
112: 3.5.1
113: 3.6.0
114: 3.6.1
115: 3.7.0
116: 3.8.0
117: 3.8.1
118: 3.9.0
119: 3.9.1
120: 3.9.2
121: 3.9.3
122: 3.9.4
123: 3.9.5
124: 3.9.6
Choose a number: |
|
|
After the mvn archetype:generate command, at each of the two prompts above, type in the appropriate answer. The actual numbers will change as Maven Central adds more archetypes.
Below are some sample responses to the prompts that follow, to help project generation. The colons indicate prompts.
Section |
---|
Column |
---|
| Code Block |
---|
language | bash |
---|
title | Sample answers to POM questions |
---|
| Define value for property 'groupId': : org.userme.etlunit.samples
Define value for property 'artifactId': : isolate_fml_pkg
Define value for property 'version': 1.0-SNAPSHOT: : 1.0.0
Define value for property 'package': org.userme.etlunit.samples: :
Confirm properties configuration:
groupId: org.userme.etlunit.samples
artifactId: isolate_fml_pkg
version: 1.0.0
package: org.userme.etlunit.samples
Y: : Y <Enter>
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: etlunit-project-archetype:3.9.6
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: org.userme.etlunit.samples
[INFO] Parameter: artifactId, Value: isolate_fml_pkg
[INFO] Parameter: version, Value: 1.0.0
[INFO] Parameter: package, Value: org.userme.etlunit.samples
[INFO] Parameter: packageInPathFormat, Value: org/userme/etlunit/samples
[INFO] Parameter: package, Value: org.userme.etlunit.samples
[INFO] Parameter: version, Value: 1.0.0
[INFO] Parameter: groupId, Value: org.userme.etlunit.samples
[INFO] Parameter: artifactId, Value: isolate_fml_pkg
[INFO] project created from Archetype in dir: C:\src\my_etlunit_proj\isolate_fml_pkg
[INFO] ------------------------------------------------------------------------ |
|
|
Your project has been generated. There isn't much there yet.
Generated POM
Below is a sample of the Maven generated POM.
Section |
---|
Column |
---|
| Code Block |
---|
| <?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.userme.etlunit.samples</groupId>
<artifactId>isolate_fml_pkg</artifactId>
<version>1.0.0</version>
<packaging>jar</packaging>
<name>isolate_fml_pkg</name>
<url>http://org.userme.etlunit.samples</url>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<etlunit.project.version>3.9.6</etlunit.project.version>
</properties>
<repositories>
<repository>
<id>distrib-snapshots</id>
<name>Snapshots</name>
<url>https://oss.sonatype.org/content/repositories/snapshots</url>
</repository>
</repositories>
<dependencies>
<dependency>
<groupId>org.bitbucket.bradleysmithllc.etlunit</groupId>
<artifactId>etlunit-core</artifactId>
<version>${etlunit.project.version}</version>
</dependency>
<dependency>
<groupId>org.bitbucket.bradleysmithllc.etlunit</groupId>
<artifactId>etlunit-cli</artifactId>
<version>${etlunit.project.version}</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.bitbucket.bradleysmithllc.etlunit</groupId>
<artifactId>etlunit-maven</artifactId>
<version>${etlunit.project.version}</version>
<executions>
<execution>
<phase>test</phase>
<goals>
<goal>test</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/etlunit-lib</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
<execution>
<id>unpack-dependencies</id>
<phase>package</phase>
<goals>
<goal>unpack</goal>
</goals>
<configuration>
<artifactItems>
<artifactItem>
<groupId>org.bitbucket.bradleysmithllc.etlunit</groupId>
<artifactId>etlunit-cli</artifactId>
<type>tar.gz</type>
<version>${etlunit.project.version}</version>
<overWrite>false</overWrite>
<classifier>bin</classifier>
<outputDirectory>${basedir}</outputDirectory>
</artifactItem>
</artifactItems>
</configuration>
</execution>
</executions>
</plugin>
</plugins>
</build>
</project> |
|
|
Folder Structure
Following is an example of some basic the folder structures for your new project.
Section |
---|
Column |
---|
| Folders generated by archetype:generate Image Added |
Column |
---|
| Basic layout before before addition of database Image Added |
Column |
---|
| Basic layout after adding Informatica EDW_EXTRACTS matches the name of an Informatica folder. Image Added |
|
Push to Bitbucket
You can follow steps to setting up a Bitbucket repository for your project on the Bitbucket Create a Repository page.
You may also want to use a graphical user interface like SourceTree.