You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cayenne.apache.org by nt...@apache.org on 2022/08/30 09:27:45 UTC
[cayenne] branch master updated: fix Gradle Plugin JavaDocs
This is an automated email from the ASF dual-hosted git repository.
ntimofeev pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/cayenne.git
The following commit(s) were added to refs/heads/master by this push:
new d1bd7c5e8 fix Gradle Plugin JavaDocs
new e7dda56c8 Merge pull request #514 from Ivan-nikitko/fix_Gradle_Plugin_JavaDocs
d1bd7c5e8 is described below
commit d1bd7c5e8223150acf7316e1464c4fb5bf6f94dc
Author: Ivan-nikitko <70...@users.noreply.github.com>
AuthorDate: Thu Aug 11 09:09:22 2022 +0200
fix Gradle Plugin JavaDocs
---
.../org/apache/cayenne/tools/BaseCayenneTask.java | 4 +
.../java/org/apache/cayenne/tools/CgenTask.java | 86 ++++++++++++++++++++++
.../org/apache/cayenne/tools/DbGenerateTask.java | 34 +++++++++
.../org/apache/cayenne/tools/DbImportTask.java | 14 ++++
4 files changed, 138 insertions(+)
diff --git a/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/BaseCayenneTask.java b/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/BaseCayenneTask.java
index 74330a25f..ab97244a7 100644
--- a/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/BaseCayenneTask.java
+++ b/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/BaseCayenneTask.java
@@ -30,6 +30,10 @@ import org.gradle.api.tasks.Internal;
*/
public class BaseCayenneTask extends DefaultTask {
+
+ /**
+ * DataMap XML file to use as a base for DB importing.
+ */
@Internal
private File map;
diff --git a/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/CgenTask.java b/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/CgenTask.java
index f30ee36ce..43de45327 100644
--- a/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/CgenTask.java
+++ b/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/CgenTask.java
@@ -46,69 +46,147 @@ public class CgenTask extends BaseCayenneTask {
private static final File[] NO_FILES = new File[0];
+ /**
+ * Path to additional DataMap XML files to use for class generation.
+ */
private File additionalMaps;
+ /**
+ * Destination directory for Java classes (ignoring their package names).
+ */
private File destDir;
+ /**
+ * Specify generated file encoding if different from the default on current
+ * platform. Target encoding must be supported by the JVM running Maven
+ * build. Standard encodings supported by Java on all platforms are
+ * US-ASCII, ISO-8859-1, UTF-8, UTF-16BE, UTF-16LE, UTF-16. See Sun Java
+ * Docs for java.nio.charset.Charset for more information.
+ */
@Input
@Optional
private String encoding;
+ /**
+ * Entities (expressed as a perl5 regex) to exclude from template
+ * generation. (Default is to include all entities in the DataMap).
+ */
@Input
@Optional
private String excludeEntities;
+ /**
+ * Entities (expressed as a perl5 regex) to include in template generation.
+ * (Default is to include all entities in the DataMap).
+ */
@Input
@Optional
private String includeEntities;
/**
* @since 4.1
+ * Embeddables (expressed as a perl5 regex) to exclude from template
+ * generation. (Default is to include all embeddables in the DataMap).
*/
@Input
@Optional
private String excludeEmbeddables;
+ /**
+ * If set to <code>true</code>, will generate subclass/superclass pairs,
+ * with all generated code included in superclass (default is
+ * <code>true</code>).
+ */
@Input
@Optional
private Boolean makePairs;
+ /**
+ * Specifies generator iteration target. "entity" performs one
+ * iteration for each selected entity. "datamap" performs one
+ * iteration per datamap (This is always one iteration since cgen currently
+ * supports specifying one-and-only-one datamap).
+ * (Default is "entity")
+ */
@Input
@Optional
private String mode;
+ /**
+ * Name of file for generated output. (Default is "*.java")
+ */
@Input
@Optional
private String outputPattern;
+ /**
+ * If set to <code>true</code>, will overwrite older versions of generated
+ * classes. Ignored unless makepairs is set to <code>false</code>.
+ */
@Input
@Optional
private Boolean overwrite;
+ /**
+ * Java package name of generated superclasses. Ignored unless
+ * <code>makepairs</code> set to <code>true</code>. If omitted, each
+ * superclass will be assigned the same package as subclass. Note that
+ * having superclass in a different package would only make sense when
+ * <code>usepkgpath</code> is set to <code>true</code>. Otherwise classes
+ * from different packages will end up in the same directory.
+ */
@Input
@Optional
private String superPkg;
+ /**
+ * Location of Velocity template file for Entity superclass generation.
+ * Ignored unless <code>makepairs</code> set to <code>true</code>. If
+ * omitted, default template is used.
+ */
@Input
@Optional
private String superTemplate;
+ /**
+ * Location of Velocity template file for Entity class generation. If
+ * omitted, default template is used.
+ */
@Input
@Optional
private String template;
+ /**
+ * Location of Velocity template file for Embeddable superclass generation.
+ * Ignored unless <code>makepairs</code> set to <code>true</code>. If
+ * omitted, default template is used.
+ */
@Input
@Optional
private String embeddableSuperTemplate;
+ /**
+ * Location of Velocity template file for Embeddable class generation. If
+ * omitted, default template is used.
+ */
@Input
@Optional
private String embeddableTemplate;
+ /**
+ * If set to <code>true</code> (default), a directory tree will be generated
+ * in "destDir" corresponding to the class package structure, if set to
+ * <code>false</code>, classes will be generated in "destDir"
+ * ignoring their package.
+ */
@Input
@Optional
private Boolean usePkgPath;
+ /**
+ * If set to <code>true</code>, will generate String Property names.
+ * Default is <code>false</code>.
+ */
@Input
@Optional
private Boolean createPropertyNames;
@@ -160,6 +238,7 @@ public class CgenTask extends BaseCayenneTask {
@Optional
private String externalToolConfig;
+
private String destDirName;
private DataChannelMetaData metaData;
@@ -210,6 +289,9 @@ public class CgenTask extends BaseCayenneTask {
}
}
+ /**
+ * Loads and returns DataMap based on <code>cgenConfiguration</code> attribute.
+ */
private File[] convertAdditionalDataMaps() throws Exception {
if (additionalMaps == null) {
return NO_FILES;
@@ -224,6 +306,10 @@ public class CgenTask extends BaseCayenneTask {
);
}
+ /**
+ * Factory method to create internal class generator. Called from
+ * constructor.
+ */
ClassGenerationAction createGenerator(DataMap dataMap) {
CgenConfiguration cgenConfiguration = buildConfiguration(dataMap);
return injector.getInstance(ClassGenerationActionFactory.class).createAction(cgenConfiguration);
diff --git a/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/DbGenerateTask.java b/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/DbGenerateTask.java
index 2049c01fd..08ece239f 100644
--- a/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/DbGenerateTask.java
+++ b/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/DbGenerateTask.java
@@ -55,25 +55,55 @@ import javax.sql.DataSource;
*/
public class DbGenerateTask extends BaseCayenneTask {
+ /**
+ * Java class implementing org.apache.cayenne.dba.DbAdapter. While this
+ * attribute is optional (a generic JdbcAdapter is used if not set), it is
+ * highly recommended to specify correct target adapter.
+ */
@Input
@Optional
private String adapter;
+ /**
+ * Connection properties.
+ *
+ * @since 4.0
+ */
@Internal
private DataSourceConfig dataSource = new DataSourceConfig();
+ /**
+ * Defines whether cdbgen should drop the tables before attempting to create
+ * new ones. Default is <code>false</code>.
+ */
@Input
private boolean dropTables;
+ /**
+ * Defines whether cdbgen should drop Cayenne primary key support objects.
+ * Default is <code>false</code>.
+ */
@Input
private boolean dropPK;
+ /**
+ * Defines whether cdbgen should create new tables. Default is
+ * <code>true</code>.
+ */
@Input
private boolean createTables = true;
+ /**
+ * Defines whether cdbgen should create Cayenne-specific auto PK objects.
+ * Default is <code>true</code>.
+ */
@Input
private boolean createPK = true;
+ /**
+ * Defines whether cdbgen should create foreign key copnstraints. Default is
+ * <code>true</code>.
+ */
@Input
private boolean createFK = true;
@@ -85,6 +115,7 @@ public class DbGenerateTask extends BaseCayenneTask {
@TaskAction
public void generateDb() throws GradleException {
+ // check missing data source parameter
dataSource.validate();
getLogger().info("connection settings - [driver: {}, url: {}, username: {}]",
@@ -141,6 +172,9 @@ public class DbGenerateTask extends BaseCayenneTask {
.build();
}
+ /**
+ * Loads and returns DataMap based on <code>map</code> attribute.
+ */
DataMap loadDataMap(Injector injector) throws Exception {
File dataMapFile = getDataMapFile();
return injector.getInstance(DataMapLoader.class).load(new URLResource(dataMapFile.toURI().toURL()));
diff --git a/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/DbImportTask.java b/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/DbImportTask.java
index 9425916cd..876f4cc62 100644
--- a/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/DbImportTask.java
+++ b/cayenne-gradle-plugin/src/main/java/org/apache/cayenne/tools/DbImportTask.java
@@ -55,16 +55,29 @@ import org.apache.cayenne.di.spi.DefaultClassLoaderManager;
*/
public class DbImportTask extends BaseCayenneTask {
+ /**
+ * Java class implementing org.apache.cayenne.dba.DbAdapter. This attribute
+ * is optional, the default is AutoAdapter, i.e. Cayenne would try to guess
+ * the DB type.
+ */
@Input
@Optional
private String adapter;
+ /**
+ * Connection properties.
+ *
+ * @since 4.0
+ */
@Internal
private DataSourceConfig dataSource = new DataSourceConfig();
@Internal
private DbImportConfig config = new DbImportConfig();
+ /**
+ * An object that contains reverse engineering rules.
+ */
@Internal
private ReverseEngineering reverseEngineering;
@@ -77,6 +90,7 @@ public class DbImportTask extends BaseCayenneTask {
@TaskAction
public void runImport() {
+ // check missing data source parameters
dataSource.validate();
final Injector injector = DIBootstrap.createInjector(new DbSyncModule(), new ToolsModule(getLogger()), new DbImportModule(),