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. &quot;entity&quot; performs one
+     * iteration for each selected entity. &quot;datamap&quot; performs one
+     * iteration per datamap (This is always one iteration since cgen currently
+     * supports specifying one-and-only-one datamap).
+     * (Default is &quot;entity&quot;)
+     */
     @Input
     @Optional
     private String mode;
 
+    /**
+     * Name of file for generated output. (Default is &quot;*.java&quot;)
+     */
     @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 &quot;destDir&quot;
+     * 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(),