diff --git a/docs/_config.yml b/docs/_config.yml new file mode 100644 index 0000000..c6fa6c6 --- /dev/null +++ b/docs/_config.yml @@ -0,0 +1,26 @@ +title: "Maven-Based Data Management" +remote_theme: pmarsceill/just-the-docs +search_enabled: true +logo: "assets/images/sansa-logo-blue.png" +markdown: kramdown +kramdown: + parse_block_html: true + + +exclude: + - sansa* + - javadoc + - scaladocs + +# Footer last edited timestamp +last_edit_timestamp: true # show or hide edit time - page must have `last_modified_date` defined in the frontmatter +last_edit_time_format: "%b %e %Y at %I:%M %p" # uses ruby's time format: https://ruby-doc.org/stdlib-2.7.0/libdoc/time/rdoc/Time.html + +# Footer "Edit this page on GitHub" link text +gh_edit_link: true # show or hide edit this page link +gh_edit_link_text: "Edit this page on GitHub." +gh_edit_repository: "https://github.com/AKSW/aksw-data-deployment" # the github URL for your repo +gh_edit_branch: "develop" # the branch that your docs is served from +gh_edit_source: "docs" # the source that your files originate from +gh_edit_view_mode: "tree" # "tree" or "edit" if you want the user to jump into the editor immediately + diff --git a/docs/images/maven-lifecycle.webp b/docs/images/maven-lifecycle.webp new file mode 100644 index 0000000..2581423 Binary files /dev/null and b/docs/images/maven-lifecycle.webp differ diff --git a/docs/introduction.md b/docs/introduction.md new file mode 100644 index 0000000..0b19646 --- /dev/null +++ b/docs/introduction.md @@ -0,0 +1,19 @@ +# A Brief Overview to Maven + +Maven is a build tool centered around the idea that different aspects of a project's build process can be captured as *life cycles* which are sequences of *phases*. + +The image below is taken from [this excellent introductory post](https://medium.com/@yetanothersoftwareengineer/maven-lifecycle-phases-plugins-and-goals-25d8e33fa22) and captures the essence nicely: It shows the three life cycles *default* , *clean* and *site*, and the corresponding sequence of phases, whereas the dark blue ones are the most relevant ones. + +Note the phase *generate-resources* which can be used to generate data and *process-resources* which is intended to make it ready for packaging. + +The `pom.xml` file captures a model of your project. The point that is crucial to the understanding is expressed in the bold statement cited from https://maven.apache.org/pom.html: + +> The Maven POM is big. However, its size is also a testament to its versatility. **The ability to abstract all of the aspects of a project into a single artifact is powerful, to say the least**. Gone are the days of dozens of disparate build scripts and scattered documentation concerning each individual project. + +Within a pom.xml you can use any number of Maven plugins to execute code to alter virtually any aspect of your project. Plugins are can do data and code generation, packaging, deployment or alter the `pom.xml` itself. + + + + + +Image source: https://medium.com/@yetanothersoftwareengineer/maven-lifecycle-phases-plugins-and-goals-25d8e33fa22 \ No newline at end of file