[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[equinox-dev] Fw: [eclipse-dev] Minimal compiler severity for the Eclipse project


how do we compare  in our standard settings?  Some thoughts

- Do all our projects have the right settings (including things in the incubator)?
- Would it be good to have a template project settings file or steps that we can use for new projects that we create?  It seems like this is happening often (especially in the incubator)
- Some time ago we were considering updating our coding standard to use explicit imports (rather than foo.*).  If we are going to do it, now is the time.
- At some point before we ship we should format and organize imports on ALL projects

Thoughts?
Jeff



----- Forwarded by Jeff McAffer/Ottawa/IBM on 02/23/2006 02:41 AM -----
Philippe P Mulet <philippe_mulet@xxxxxxxxxx>
Sent by: eclipse-dev-bounces@xxxxxxxxxxx

02/22/2006 11:03 AM

Please respond to
"General development mailing list of the Eclipse project."

To
eclipse-dev@xxxxxxxxxxx
cc
Subject
[eclipse-dev] Minimal compiler severity for the Eclipse project





It appears that not all teams are tuning the compiler settings in a similar
way, resulting sometimes in a few glitches during the build process. During
the arch call, we agreed that teams should ensure they follow the settings
used by Releng during the build process at a minimum.

Then we can discuss further on whether we want to raise the bar or not. As
the compiler owner, I wouldn't change its defaults but rather have dev
teams agree on custom settings; since changing defaults has some
implications for tools generating source code; i.e. they could start
getting flagged with problems from now on.

To initiate the discussion, here are the extra warnings we activate in
JDT/Core (compared to defaults).

Classfile Generation
- Inline finally blocks: ON   (to match Releng setting for improved startup
time)

CodeStyle
- Indirect access to static member
- Undocumented empty block
- Non externalized Strings

Potential programming problems
- Possible accidental bool assign
- Empty statements

Name shadowing and conflicts
- Field declaration hides another field or variable
- Local variable declaration hides another field or variable

Deprecated and restricted API
- Deprecated API
- Forbidden reference (ERROR)
- Discouraged reference

Unnecessary code
- Unnecessary cast or 'instanceof' operation

Javadoc
- Malformed Javadoc comments: Warning
      - Only consider members as visible as: Private
      - Report errors in tags: ON
      - Report non visible references: ON
      - Report deprecated references: ON


You can find below the corresponding .settings/org.eclipse.jdt.core.prefs
(you can simply paste the contents into your project settings to see the
consequences if you cause a rebuild, i.e. no need to go through the UI).

#Fri Feb 17 16:48:15 CET 2006
eclipse.preferences.version=1
org.eclipse.jdt.core.builder.cleanOutputFolder=clean
org.eclipse.jdt.core.builder.duplicateResourceTask=warning
org.eclipse.jdt.core.builder.invalidClasspath=abort
org.eclipse.jdt.core.builder.resourceCopyExclusionFilter=*.launch
org.eclipse.jdt.core.circularClasspath=error
org.eclipse.jdt.core.classpath.exclusionPatterns=enabled
org.eclipse.jdt.core.classpath.multipleOutputLocations=enabled
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.2
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.4
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.doc.comment.support=enabled
org.eclipse.jdt.core.compiler.maxProblemPerUnit=100
org.eclipse.jdt.core.compiler.problem.assertIdentifier=warning
org.eclipse.jdt.core.compiler.problem.deprecation=warning
org.eclipse.jdt.core.compiler.problem.deprecationInDeprecatedCode=disabled
org.eclipse.jdt.core.compiler.problem.deprecationWhenOverridingDeprecatedMethod=
disabled
org.eclipse.jdt.core.compiler.problem.emptyStatement=warning
org.eclipse.jdt.core.compiler.problem.fieldHiding=warning
org.eclipse.jdt.core.compiler.problem.finalParameterBound=warning
org.eclipse.jdt.core.compiler.problem.finallyBlockNotCompletingNormally=
warning
org.eclipse.jdt.core.compiler.problem.forbiddenReference=error
org.eclipse.jdt.core.compiler.problem.hiddenCatchBlock=warning
org.eclipse.jdt.core.compiler.problem.incompatibleNonInheritedInterfaceMethod=
warning
org.eclipse.jdt.core.compiler.problem.indirectStaticAccess=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadoc=warning
org.eclipse.jdt.core.compiler.problem.invalidJavadocTags=enabled
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef=
enabled
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef=
enabled
org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility=private
org.eclipse.jdt.core.compiler.problem.localVariableHiding=warning
org.eclipse.jdt.core.compiler.problem.methodWithConstructorName=warning
org.eclipse.jdt.core.compiler.problem.missingJavadocComments=ignore
org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsOverriding=
enabled
org.eclipse.jdt.core.compiler.problem.missingJavadocCommentsVisibility=
public
org.eclipse.jdt.core.compiler.problem.missingJavadocTags=ignore
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsOverriding=enabled
org.eclipse.jdt.core.compiler.problem.missingJavadocTagsVisibility=private
org.eclipse.jdt.core.compiler.problem.missingSerialVersion=warning
org.eclipse.jdt.core.compiler.problem.noEffectAssignment=warning
org.eclipse.jdt.core.compiler.problem.noImplicitStringConversion=warning
org.eclipse.jdt.core.compiler.problem.nonExternalizedStringLiteral=warning
org.eclipse.jdt.core.compiler.problem.overridingPackageDefaultMethod=
warning
org.eclipse.jdt.core.compiler.problem.possibleAccidentalBooleanAssignment=
warning
org.eclipse.jdt.core.compiler.problem.specialParameterHidingField=disabled
org.eclipse.jdt.core.compiler.problem.staticAccessReceiver=warning
org.eclipse.jdt.core.compiler.problem.syntheticAccessEmulation=warning
org.eclipse.jdt.core.compiler.problem.undocumentedEmptyBlock=warning
org.eclipse.jdt.core.compiler.problem.unnecessaryElse=ignore
org.eclipse.jdt.core.compiler.problem.unnecessaryTypeCheck=warning
org.eclipse.jdt.core.compiler.problem.unqualifiedFieldAccess=ignore
org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation=warning
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException=ignore
org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionWhenOverriding=
disabled
org.eclipse.jdt.core.compiler.problem.unusedImport=warning
org.eclipse.jdt.core.compiler.problem.unusedLocal=warning
org.eclipse.jdt.core.compiler.problem.unusedParameter=ignore
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenImplementingAbstract=
disabled
org.eclipse.jdt.core.compiler.problem.unusedParameterWhenOverridingConcrete=
disabled
org.eclipse.jdt.core.compiler.problem.unusedPrivateMember=warning
org.eclipse.jdt.core.compiler.source=1.3
org.eclipse.jdt.core.incompatibleJDKLevel=ignore
org.eclipse.jdt.core.incompleteClasspath=error

_______________________________________________
eclipse-dev mailing list
eclipse-dev@xxxxxxxxxxx
To change your delivery options, retrieve your password, or unsubscribe from this list, visit
https://dev.eclipse.org/mailman/listinfo/eclipse-dev