Skip to content

Commit c52e82a

Browse files
Merge pull request #30 from dschwartznyc/main
Addition of code generator CLI and pom/checkstyle cleanup
2 parents b631976 + c719ee3 commit c52e82a

File tree

12 files changed

+593
-266
lines changed

12 files changed

+593
-266
lines changed

.github/renovate.json

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
{
2+
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
3+
"extends": ["config:base"],
4+
"prConcurrentLimit": 10,
5+
"prHourlyLimit": 20,
6+
"packageRules": [
7+
{
8+
"description": "Update the Maven property rosetta.dsl.version when com.regnosys.rosetta releases a new version",
9+
"matchManagers": ["maven"],
10+
"matchPackageNames": [
11+
"com.regnosys.rosetta:com.regnosys.rosetta",
12+
"rosetta.dsl.version"
13+
],
14+
"enabled": true
15+
},
16+
{
17+
"description": "Disable all that are not maven AND not those names",
18+
"matchManagers": ["maven"],
19+
"excludePackageNames": [
20+
"com.regnosys.rosetta:com.regnosys.rosetta",
21+
"rosetta.dsl.version"
22+
],
23+
"enabled": false
24+
}
25+
]
26+
}

.github/workflows/renovate.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
# This workflow runs Renovate Bot on a schedule or on demand.
2+
# It uses the configuration file located at .github/renovate.json
3+
4+
name: Renovate
5+
on:
6+
# Allows you to run this workflow manually from the Actions tab
7+
workflow_dispatch:
8+
# Runs the workflow on a schedule (e.g., every day at 2 AM)
9+
schedule:
10+
- cron: '0 2 * * *'
11+
12+
jobs:
13+
renovate:
14+
runs-on: ubuntu-latest
15+
# This section is crucial. It grants the GITHUB_TOKEN the necessary
16+
# permissions for Renovate to read repository content and create pull requests.
17+
permissions:
18+
contents: write
19+
pull-requests: write
20+
steps:
21+
# Checks out your repository under $GITHUB_WORKSPACE, so your job can access it
22+
- uses: actions/checkout@v4
23+
24+
# Runs the Renovate GitHub Action
25+
- name: Renovate
26+
# Using a slightly newer version of the action
27+
uses: renovatebot/[email protected]
28+
with:
29+
# The token is required to create pull requests.
30+
# GITHUB_TOKEN is automatically created by Actions and is given
31+
# the permissions defined in the `permissions` block above.
32+
token: ${{ secrets.GITHUB_TOKEN }}
33+
# Specifies the path to your Renovate configuration file.
34+
configurationFile: .github/renovate.json
35+
env:
36+
# Use 'debug' for verbose logging, which is helpful for troubleshooting.
37+
LOG_LEVEL: 'debug'
38+
RENOVATE_REPOSITORIES: ${{ github.repository }} # This tells Renovate to scan the current repo
39+

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,4 +57,5 @@ __pycache__
5757
**/test/serialization_tests/rune-common
5858
**/build/common-domain-model
5959
**/build/resources/serialization
60-
src/generated/
60+
src/generated/
61+
*.todo

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ Before making a contribution, please take the following steps:
88
1. Check whether there's already an open issue related to your proposed contribution. If there is, join the discussion and propose your contribution there.
99
2. If there isn't already a relevant issue, create one, describing your contribution and the problem you're trying to solve.
1010
3. Respond to any questions or suggestions raised in the issue by other developers.
11-
4. Fork the project repository and prepare your proposed contribution.
11+
4. Fork the project repository and prepare your proposed contribution. The contribution must include unit tests to confirm that it behaves as expected.
1212
5. Submit a pull request.
1313

1414
NOTE: All contributors must have a contributor license agreement (CLA) on file with FINOS before their pull requests will be merged. Please review the FINOS [contribution requirements](https://community.finos.org/docs/governance/Software-Projects/contribution-compliance-requirements) and submit (or have your employer submit) the required CLA before submitting a pull request.

NOTICE

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
1-
Rune Python Generator - FINOS
2-
Copyright 2023-2025 CLOUDRISK Limited ([email protected]) and FT Advisory LLC ([email protected])
3-
4-
This product includes software developed at the Fintech Open Source Foundation (https://www.finos.org/).
1+
# Rune Python Generator - FINOS
52

3+
Copyright 2023-2025 CLOUDRISK Limited (<[email protected]>) and FT Advisory LLC (<[email protected]>)
64

5+
This product includes software developed at the Fintech Open Source Foundation (<https://www.finos.org/>).

checkstyle/checkstyle.xml

Lines changed: 106 additions & 161 deletions
Original file line numberDiff line numberDiff line change
@@ -3,165 +3,110 @@
33
"-//Checkstyle//DTD Checkstyle Configuration 1.3//EN"
44
"https://checkstyle.org/dtds/configuration_1_3.dtd">
55

6-
<!-- Checkstyle configuration that checks the sun coding conventions from: - the Java Language Specification at http://java.sun.com/docs/books/jls/second_edition/html/index.html
7-
- the Sun Code Conventions at http://java.sun.com/docs/codeconv/ - the Javadoc guidelines at http://java.sun.com/j2se/javadoc/writingdoccomments/index.html - the
8-
JDK Api documentation http://java.sun.com/j2se/docs/api/index.html - some best practices Checkstyle is very configurable. Be sure to read the documentation at http://checkstyle.sf.net
9-
(or in your downloaded distribution). Most Checks are configurable, be sure to consult the documentation. To completely disable a check, just comment it out or delete
10-
it from the file. Finally, it is worth reading the documentation. -->
11-
126
<module name="Checker">
13-
<property name="severity" value="warning" />
14-
<!-- If you set the basedir property below, then all reported file names will be relative to the specified directory. See https://checkstyle.org/5.x/config.html#Checker
15-
<property name="basedir" value="${basedir}"/> -->
16-
17-
<property name="fileExtensions" value="java, properties, xml" />
18-
19-
<!-- Checks that a package-info.java file exists for each package. -->
20-
<!-- See http://checkstyle.sf.net/config_javadoc.html#JavadocPackage -->
21-
<!-- <module name="JavadocPackage" /> -->
22-
23-
<!-- Checks whether files end with a new line. -->
24-
<!-- See http://checkstyle.sf.net/config_misc.html#NewlineAtEndOfFile -->
25-
<module name="NewlineAtEndOfFile" />
26-
27-
<!-- Checks that property files contain the same keys. -->
28-
<!-- See http://checkstyle.sf.net/config_misc.html#Translation -->
29-
<module name="Translation" />
30-
31-
<!-- Checks for Size Violations. -->
32-
<!-- See http://checkstyle.sf.net/config_sizes.html -->
33-
<module name="FileLength" />
34-
35-
<!-- Checks for whitespace -->
36-
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
37-
<!-- <module name="FileTabCharacter" /> -->
38-
39-
<!-- Miscellaneous other checks. -->
40-
<!-- See http://checkstyle.sf.net/config_misc.html -->
41-
<module name="RegexpSingleline">
42-
<property name="format" value="^(?!\s+\* $).*?\s+$"/>
43-
<property name="minimum" value="0" />
44-
<property name="maximum" value="1" />
45-
<property name="message" value="Line has trailing spaces." />
46-
</module>
47-
48-
<!-- Checks for Headers -->
49-
<!-- See http://checkstyle.sf.net/config_header.html -->
50-
<!-- <module name="Header"> -->
51-
<!-- <property name="headerFile" value="${checkstyle.header.file}"/> -->
52-
<!-- <property name="fileExtensions" value="java"/> -->
53-
<!-- </module> -->
54-
55-
<module name="TreeWalker">
56-
<property name="tabWidth" value="4" />
57-
<!-- Checks for Javadoc comments. -->
58-
<!-- See http://checkstyle.sf.net/config_javadoc.html -->
59-
<module name="JavadocMethod">
60-
<property name="scope" value="public" />
61-
<property name="allowMissingParamTags" value="true" />
62-
<property name="allowMissingThrowsTags" value="true" />
63-
<property name="allowMissingReturnTag" value="true" />
64-
</module>
65-
<module name="JavadocType">
66-
<property name="scope" value="public" />
67-
</module>
68-
<module name="JavadocVariable">
69-
<property name="scope" value="public" />
70-
</module>
71-
<module name="JavadocStyle">
72-
<property name="checkFirstSentence" value="false" />
73-
</module>
74-
75-
<!-- Checks for Naming Conventions. -->
76-
<!-- See http://checkstyle.sf.net/config_naming.html -->
77-
<module name="ConstantName" />
78-
<!-- <module name="LocalFinalVariableName" /> -->
79-
<module name="LocalVariableName" />
80-
<module name="MemberName" />
81-
<module name="MethodName" />
82-
<module name="PackageName" />
83-
<module name="ParameterName" />
84-
<module name="StaticVariableName" />
85-
<module name="TypeName" />
86-
87-
<!-- Checks for imports -->
88-
<!-- See http://checkstyle.sf.net/config_import.html -->
89-
<module name="AvoidStarImport" />
90-
<module name="IllegalImport" /> <!-- defaults to sun.* packages -->
91-
<module name="RedundantImport" />
92-
<module name="UnusedImports">
93-
<property name="processJavadoc" value="false" />
94-
</module>
95-
96-
<!-- Checks for Size Violations. -->
97-
<!-- See http://checkstyle.sf.net/config_sizes.html -->
98-
<module name="LineLength">
99-
<property name="max" value="120" />
100-
</module>
101-
<module name="MethodLength">
102-
</module>
103-
<module name="ParameterNumber" />
104-
105-
<!-- Checks for whitespace -->
106-
<!-- See http://checkstyle.sf.net/config_whitespace.html -->
107-
<module name="EmptyForIteratorPad" />
108-
<module name="GenericWhitespace" />
109-
<module name="MethodParamPad" />
110-
<module name="NoWhitespaceAfter" />
111-
<module name="NoWhitespaceBefore" />
112-
<module name="OperatorWrap" />
113-
<module name="ParenPad" />
114-
<module name="TypecastParenPad" />
115-
<module name="WhitespaceAfter" />
116-
<module name="WhitespaceAround" />
117-
118-
<!-- Modifier Checks -->
119-
<!-- See http://checkstyle.sf.net/config_modifiers.html -->
120-
<module name="ModifierOrder" />
121-
<module name="RedundantModifier" />
122-
123-
<!-- Checks for blocks. You know, those {}'s -->
124-
<!-- See http://checkstyle.sf.net/config_blocks.html -->
125-
<module name="AvoidNestedBlocks" />
126-
<module name="EmptyBlock" />
127-
<module name="LeftCurly" />
128-
<module name="NeedBraces" />
129-
<module name="RightCurly" />
130-
131-
<!-- Checks for common coding problems -->
132-
<!-- See http://checkstyle.sf.net/config_coding.html -->
133-
<module name="AvoidInlineConditionals" />
134-
<module name="EmptyStatement" />
135-
<module name="EqualsHashCode" />
136-
<module name="HiddenField">
137-
<property name="tokens" value="PARAMETER_DEF,VARIABLE_DEF,LAMBDA" />
138-
<property name="ignoreConstructorParameter" value="true" />
139-
<property name="ignoreSetter" value="true" />
140-
<property name="setterCanReturnItsClass" value="true" />
141-
<property name="ignoreAbstractMethods" value="true" />
142-
</module>
143-
<module name="IllegalInstantiation" />
144-
<module name="InnerAssignment" />
145-
<module name="MagicNumber" />
146-
<module name="MissingSwitchDefault" />
147-
<module name="SimplifyBooleanExpression" />
148-
<module name="SimplifyBooleanReturn" />
149-
150-
<!-- Checks for class design -->
151-
<!-- See http://checkstyle.sf.net/config_design.html -->
152-
<module name="DesignForExtension" />
153-
<module name="FinalClass" />
154-
<module name="HideUtilityClassConstructor" />
155-
<module name="InterfaceIsType" />
156-
<module name="VisibilityModifier" />
157-
158-
<!-- Miscellaneous other checks. -->
159-
<!-- See http://checkstyle.sf.net/config_misc.html -->
160-
<module name="ArrayTypeStyle" />
161-
<!-- <module name="FinalParameters" /> -->
162-
<module name="TodoComment" />
163-
<module name="UpperEll" />
164-
165-
</module>
166-
167-
</module>
7+
<property name="severity" value="warning" />
8+
<property name="fileExtensions" value="java, properties, xml" />
9+
10+
<!-- These must be direct children of Checker -->
11+
<module name="NewlineAtEndOfFile" />
12+
<module name="Translation" />
13+
<module name="FileLength" />
14+
<module name="LineLength">
15+
<property name="max" value="120" />
16+
</module>
17+
<module name="RegexpSingleline">
18+
<property name="format" value="^(?!\s+\* $).*?\s+$"/>
19+
<property name="minimum" value="0" />
20+
<property name="maximum" value="1" />
21+
<property name="message" value="Line has trailing spaces." />
22+
</module>
23+
24+
<module name="TreeWalker">
25+
<property name="tabWidth" value="4" />
26+
27+
<!-- Javadoc checks -->
28+
<module name="JavadocMethod">
29+
<property name="accessModifiers" value="public"/>
30+
</module>
31+
<module name="JavadocType"/>
32+
<module name="JavadocVariable"/>
33+
<module name="JavadocStyle">
34+
<property name="checkFirstSentence" value="false" />
35+
</module>
36+
37+
<!-- Naming conventions -->
38+
<module name="ConstantName" />
39+
<module name="LocalVariableName" />
40+
<module name="MemberName" />
41+
<module name="MethodName" />
42+
<module name="PackageName" />
43+
<module name="ParameterName" />
44+
<module name="StaticVariableName" />
45+
<module name="TypeName" />
46+
47+
<!-- Imports -->
48+
<module name="AvoidStarImport" />
49+
<module name="IllegalImport" />
50+
<module name="RedundantImport" />
51+
<module name="UnusedImports">
52+
<property name="processJavadoc" value="false" />
53+
</module>
54+
55+
<!-- Size violations (these are allowed under TreeWalker) -->
56+
<module name="MethodLength"/>
57+
<module name="ParameterNumber" />
58+
59+
<!-- Whitespace -->
60+
<module name="EmptyForIteratorPad" />
61+
<module name="GenericWhitespace" />
62+
<module name="MethodParamPad" />
63+
<module name="NoWhitespaceAfter" />
64+
<module name="NoWhitespaceBefore" />
65+
<module name="OperatorWrap" />
66+
<module name="ParenPad" />
67+
<module name="TypecastParenPad" />
68+
<module name="WhitespaceAfter" />
69+
<module name="WhitespaceAround" />
70+
71+
<!-- Modifiers -->
72+
<module name="ModifierOrder" />
73+
<module name="RedundantModifier" />
74+
75+
<!-- Blocks -->
76+
<module name="AvoidNestedBlocks" />
77+
<module name="EmptyBlock" />
78+
<module name="LeftCurly" />
79+
<module name="NeedBraces" />
80+
<module name="RightCurly" />
81+
82+
<!-- Coding problems -->
83+
<module name="AvoidInlineConditionals" />
84+
<module name="EmptyStatement" />
85+
<module name="EqualsHashCode" />
86+
<module name="HiddenField">
87+
<property name="tokens" value="PARAMETER_DEF,VARIABLE_DEF,LAMBDA" />
88+
<property name="ignoreConstructorParameter" value="true" />
89+
<property name="ignoreSetter" value="true" />
90+
<property name="setterCanReturnItsClass" value="true" />
91+
<property name="ignoreAbstractMethods" value="true" />
92+
</module>
93+
<module name="IllegalInstantiation" />
94+
<module name="InnerAssignment" />
95+
<module name="MagicNumber" />
96+
<module name="MissingSwitchDefault" />
97+
<module name="SimplifyBooleanExpression" />
98+
<module name="SimplifyBooleanReturn" />
99+
100+
<!-- Class design -->
101+
<module name="DesignForExtension" />
102+
<module name="FinalClass" />
103+
<module name="HideUtilityClassConstructor" />
104+
<module name="InterfaceIsType" />
105+
<module name="VisibilityModifier" />
106+
107+
<!-- Miscellaneous -->
108+
<module name="ArrayTypeStyle" />
109+
<module name="TodoComment" />
110+
<module name="UpperEll" />
111+
</module>
112+
</module>

0 commit comments

Comments
 (0)