Skip to content

Commit adc55d2

Browse files
committed
Merge branch 'develop'
2 parents 01e8e6c + 3682631 commit adc55d2

File tree

492 files changed

+9207
-4758
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

492 files changed

+9207
-4758
lines changed

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
# Version 0.13.0 - 2020-04-21
2+
3+
* Refactor Maven module structure
4+
* Implement new Scala DSL for creating projects
5+
* Fix ordering bug in target execution
6+
* Merge 'migrate' phase into 'create' phase
7+
* Rename 'input' field to 'mapping' in most targets
8+
* Lots of minor code improvements
9+
10+
111
# Version 0.12.2 - 2020-04-06
212

313
* Fix type coercion of DecimalTypes

docker/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
<parent>
1111
<groupId>com.dimajix.flowman</groupId>
1212
<artifactId>flowman-root</artifactId>
13-
<version>0.12.2</version>
13+
<version>0.13.0</version>
1414
<relativePath>..</relativePath>
1515
</parent>
1616

docs/.gitignore

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
11
_site
2+
_build

docs/Makefile

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# Minimal makefile for Sphinx documentation
2+
#
3+
4+
# You can set these variables from the command line.
5+
SPHINXOPTS =
6+
SPHINXBUILD = sphinx-build
7+
SPHINXPROJ = Flowman
8+
SOURCEDIR = .
9+
BUILDDIR = _build
10+
11+
# Put it first so that "make" without argument is like "make help".
12+
help:
13+
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
14+
15+
.PHONY: help Makefile
16+
17+
# Catch-all target: route all unknown targets to Sphinx using the new
18+
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
19+
%: Makefile
20+
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

docs/_config.yml

Lines changed: 0 additions & 10 deletions
This file was deleted.

docs/cli/flowexec.md

Lines changed: 47 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,49 @@
1-
# Flowman Execution Tool (flowexec)
1+
# Flowman Executor (flowexec)
22

3-
flowexec is the primary tool for running a whole project, for building individual targets
3+
`flowexec` is the primary tool for running a whole project, for building individual targets
44
or for inspecting individual entitites.
5+
6+
## General Parameters
7+
* `-h` displays help
8+
* `-f <project_directory>` specifies a different directory than the current for locating a Flowman project
9+
* `-P <profile_name>` activates a profile as being defined in the Flowman project
10+
* `-D <key>=<value>` Sets a environment variable
11+
* `--conf <key>=<value>` Sets a Flowman or Spark configuration variable
12+
* `--info` Dumps the active configuration to the console
13+
* `--spark-logging <level>` Sets the log level for Spark
14+
* `--spark-name <application_name>` Sets the Spark application name
15+
16+
17+
## Project Commands
18+
The most important command group is for executing a specific lifecycle or a individual phase for the whole project.
19+
```shell script
20+
flowexec project <create|build|verify|truncate|destroy> <args>
21+
```
22+
This will execute the whole job by executing the desired lifecycle for the `main` job
23+
24+
25+
## Job Commands
26+
Similar to the project commands, individual jobs with different names than `main` can be executed.
27+
28+
### List Jobs
29+
The following command will list all jobs defined in a project
30+
```shell script
31+
flowexec job list
32+
```
33+
34+
### Execute Job phase
35+
```shell script
36+
flowexec job <create|build|verify|truncate|destroy> <job_name> <args>
37+
```
38+
39+
## Target Commands
40+
41+
### List Targets
42+
```shell script
43+
flowexec target list
44+
```
45+
46+
### Execute Target phase
47+
```shell script
48+
flowexec job <create|build|verify|truncate|destroy> <job_name> <args>
49+
```

docs/cli/flowserver.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Flowman Server

docs/cli/index.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
# Flowman Executables
2+
3+
Flowman provides a small set of executables for working with projects.
4+
5+
## Executables
6+
* [Flowman Executor](flowexec.md)
7+
* [Flowman Server](flowserver.md)

docs/conf.py

Lines changed: 185 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,185 @@
1+
#!/usr/bin/env python3
2+
# -*- coding: utf-8 -*-
3+
#
4+
# Flowman documentation build configuration file, created by
5+
# sphinx-quickstart on Fri Jan 17 10:12:21 2020.
6+
#
7+
# This file is execfile()d with the current directory set to its
8+
# containing dir.
9+
#
10+
# Note that not all possible configuration values are present in this
11+
# autogenerated file.
12+
#
13+
# All configuration values have a default; values that are commented out
14+
# serve to show the default.
15+
16+
# If extensions (or modules to document with autodoc) are in another directory,
17+
# add these directories to sys.path here. If the directory is relative to the
18+
# documentation root, use os.path.abspath to make it absolute, like shown here.
19+
#
20+
# import os
21+
# import sys
22+
# sys.path.insert(0, os.path.abspath('.'))
23+
24+
25+
# -- General configuration ------------------------------------------------
26+
27+
# If your documentation needs a minimal Sphinx version, state it here.
28+
#
29+
# needs_sphinx = '1.0'
30+
31+
# Add any Sphinx extension module names here, as strings. They can be
32+
# extensions coming with Sphinx (named 'sphinx.ext.*') or your custom
33+
# ones.
34+
extensions = [
35+
'recommonmark',
36+
'sphinx.ext.autodoc'
37+
]
38+
39+
# Add any paths that contain templates here, relative to this directory.
40+
templates_path = ['_templates']
41+
42+
# The suffix(es) of source filenames.
43+
# You can specify multiple suffix as a list of string:
44+
#
45+
# source_suffix = ['.rst', '.md']
46+
source_suffix = ['.rst', '.md']
47+
48+
# The master toctree document.
49+
master_doc = 'index'
50+
51+
# General information about the project.
52+
project = 'Flowman'
53+
copyright = '2020, Kaya Kupferschmidt'
54+
author = 'Kaya Kupferschmidt'
55+
56+
github_doc_root = 'https://github.com/dimajix/flowman/tree/master/docs/'
57+
58+
# The version info for the project you're documenting, acts as replacement for
59+
# |version| and |release|, also used in various other places throughout the
60+
# built documents.
61+
#
62+
# The short X.Y version.
63+
version = '0.12'
64+
# The full version, including alpha/beta/rc tags.
65+
release = '0.12.2-SNAPSHOT'
66+
67+
# The language for content autogenerated by Sphinx. Refer to documentation
68+
# for a list of supported languages.
69+
#
70+
# This is also used if you do content translation via gettext catalogs.
71+
# Usually you set "language" from the command line for these cases.
72+
language = None
73+
74+
# List of patterns, relative to source directory, that match files and
75+
# directories to ignore when looking for source files.
76+
# This patterns also effect to html_static_path and html_extra_path
77+
exclude_patterns = ['_build', 'Thumbs.db', '.DS_Store']
78+
79+
# The name of the Pygments (syntax highlighting) style to use.
80+
pygments_style = 'sphinx'
81+
82+
# If true, `todo` and `todoList` produce output, else they produce nothing.
83+
todo_include_todos = False
84+
85+
86+
# -- Options for HTML output ----------------------------------------------
87+
88+
# The theme to use for HTML and HTML Help pages. See the documentation for
89+
# a list of builtin themes.
90+
#
91+
html_theme = 'sphinx_rtd_theme'
92+
93+
# Theme options are theme-specific and customize the look and feel of a theme
94+
# further. For a list of options available for each theme, see the
95+
# documentation.
96+
#
97+
# html_theme_options = {}
98+
99+
# Add any paths that contain custom static files (such as style sheets) here,
100+
# relative to this directory. They are copied after the builtin static files,
101+
# so a file named "default.css" will overwrite the builtin "default.css".
102+
html_static_path = ['_static']
103+
104+
# Custom sidebar templates, must be a dictionary that maps document names
105+
# to template names.
106+
#
107+
# This is required for the alabaster theme
108+
# refs: http://alabaster.readthedocs.io/en/latest/installation.html#sidebars
109+
html_sidebars = {
110+
'**': [
111+
'relations.html', # needs 'show_related': True theme option to display
112+
'searchbox.html',
113+
]
114+
}
115+
116+
117+
# -- Options for HTMLHelp output ------------------------------------------
118+
119+
# Output file base name for HTML help builder.
120+
htmlhelp_basename = 'Flowmandoc'
121+
122+
123+
# -- Options for LaTeX output ---------------------------------------------
124+
125+
latex_elements = {
126+
# The paper size ('letterpaper' or 'a4paper').
127+
#
128+
# 'papersize': 'letterpaper',
129+
130+
# The font size ('10pt', '11pt' or '12pt').
131+
#
132+
# 'pointsize': '10pt',
133+
134+
# Additional stuff for the LaTeX preamble.
135+
#
136+
# 'preamble': '',
137+
138+
# Latex figure (float) alignment
139+
#
140+
# 'figure_align': 'htbp',
141+
}
142+
143+
# Grouping the document tree into LaTeX files. List of tuples
144+
# (source start file, target name, title,
145+
# author, documentclass [howto, manual, or own class]).
146+
latex_documents = [
147+
(master_doc, 'Flowman.tex', 'Flowman Documentation',
148+
'Kaya Kupferschmidt', 'manual'),
149+
]
150+
151+
152+
# -- Options for manual page output ---------------------------------------
153+
154+
# One entry per manual page. List of tuples
155+
# (source start file, name, description, authors, manual section).
156+
man_pages = [
157+
(master_doc, 'flowman', 'Flowman Documentation',
158+
[author], 1)
159+
]
160+
161+
162+
# -- Options for Texinfo output -------------------------------------------
163+
164+
# Grouping the document tree into Texinfo files. List of tuples
165+
# (source start file, target name, title, author,
166+
# dir menu entry, description, category)
167+
texinfo_documents = [
168+
(master_doc, 'Flowman', 'Flowman Documentation',
169+
author, 'Flowman', 'One line description of project.',
170+
'Miscellaneous'),
171+
]
172+
173+
174+
from recommonmark.transform import AutoStructify
175+
176+
def setup(app):
177+
app.add_config_value('recommonmark_config', {
178+
#'auto_toc_tree_section': 'Contents',
179+
'auto_toc_tree_section': False,
180+
'enable_auto_toc_tree': True,
181+
'enable_eval_rst': True,
182+
'enable_math': False,
183+
'enable_inline_math': False
184+
}, True)
185+
app.add_transform(AutoStructify)

docs/cookbook/index.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Flowman Cookbook
2+
3+
This part of the documentation contains approaches to common problems
4+
5+
6+
## Cookbooks
7+
8+
* [Testing](testing.md) How to implement tests in Flowman

docs/cookbook/testing.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
# Testing

0 commit comments

Comments
 (0)