iotdb
iotdb copied to clipboard
modify POM files
-
[x] 1. remove the header description of the parent pom file. (YCSB and others)
-
[x] 2. The parent pom in the root has to be set to “org.apache:apache:21”
-
[x] 3. remove
developers
section from pom files -
[x] 4. re-check all the profiles. If they are duplicated with apache:21 parent pom, remove them.
Maybe it’s worth configuring the maven-javadoc-plugin in a pluginManagement section of the root to exclude them in general and get rid of the “release” profiles in general
- remove nexus-staging-maven-plugin
-
[x] 5. change the name of
<project.version>0.8.0-SNAPSHOT</project.version>
from root pom.xml (Do not use the default parameterproject.version
) -
[x] 6. Replace the antrun plugin with the dependencies plugin for copying the libs to the iotdb/lib directory (antrun is highly deprecated)
-
[x] 7. No need to re-define the license, scm, distribution management in sub-modules
-
[ ] 8. Try to unify the plugin definitions in the root pom.
-
[x] 9. You are relying on Java 8 so the Jodatime library is included in general there is no need to use the external library and the included classes could be used)
-
[ ] 10. generate a
-with-dependencies.jar
by assembly plugin -
[x] 11. remove
iotdb/iotdb/src/main/resources/META-INF/MANIFEST.MF
-
[x] 12. check the dependency of antlr3
You have a dependency on the antlr3 maven plugin. Instead you should depend on the antlr-runtime artifact that matches your antlr3 version.
-
[ ] 13. remove kvmatch-iotdb dependency. @kr11 please ask the corresponding person.
-
[x] 14. JDBC pom: You are adding a “interface/thrift” directory to the sources, but that doesn’t exist.
-
[x] 15. Move the interfaces thirft files to “src/main/thrift” and have the code generated on every build to “target/generated-sources” (default)
-
[x] 16. TsFile pom: You are adding a “interface/thrift” directory to the sources, but that doesn’t exist.
-
[x] 17. Spark module: remove tsfile data file.
especially, Chris says,
do not check in the generated code.
If you have any questions, ask in the mail list.
补充剩下邮件的内容
- [ ] 18. 所有非lib的类加上Apache的声明。
All non-binary files need the ASF header
- [ ] 19. 现有pom里面的release插件和Apache release 冲突
- You are defining a “release” profile which is obviously intended for releasing. This will not apply as apache releases are performed with the “apache-release” profile. So if important stuff is to be done here (it actually shouldn’t) * From a quick look all defined there is also done by the profile defined in the “apache-release” profile in the “apache” parent pom. So all except the exclusion for package names including “thrift” could simply be removed. (Maybe it’s worth configuring the maven-javadoc-plugin in a pluginManagement section of the root to exclude them in general and get rid of the “release” profiles in general) * Especially the staging part has to be removed as you will be staging to repository.apache.org instead of the oss sonatype repo.
- [ ] 20. 不用assembly拆件打打jar包。
I wouldn’t produce fat jars (using the assembly plugin) as this bundles classes in to a library that might be used in another application that has dependencies to the same libraries but in a different version … trust me … these are the worst problems to track down.
- [ ] 21. kvmatch
@jixuan1989 How do you think about KV-match integration? Remove for now or what? Perhaps we need a discussion.
@MyXOF can you double-check all of these?