Skip to main content

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

Teams can raise the bar as much as they want. I believe the releng settings
should set some minimal expectations.
Teams being stricter than releng should be fine, but we shouldn't be
tolerating some of the diagnostics to be turned off, when we think these
are important from a development quality standpoint.



                                                                           
             Martin                                                        
             Aeschlimann/Zuric                                             
             h/IBM@IBMCH                                                To 
             Sent by:                  eclipse-dev@xxxxxxxxxxx             
             eclipse-dev-bounc                                          cc 
             es@xxxxxxxxxxx                                                
                                                                   Subject 
                                       Re: [eclipse-dev] Minimal compiler  
             02/23/2006 01:16          severity for the Eclipse project    
             PM                                                            
                                                                           
                                                                           
             Please respond to                                             
                 "General                                                  
                development                                                
              mailing list of                                              
                the Eclipse                                                
                 project."                                                 
                                                                           
                                                                           





Wouldn't it be possible that releng uses the settings as defined per
project? This would give teams freedom and save us from surprises of
non-matching settings.

Martin




                                                                           
 Philippe P Mulet/France/IBM@IBMFR                                         
 Sent by: eclipse-dev-bounces@xxxxxxxxxxx                                  
                                                                        To 
                                                    eclipse-dev@xxxxxxxxxx 
 22.02.2006 17:03                                   g                      
                                                                        cc 
                                                                           
             Please respond to                                     Subject 
   "General development mailing list of             [eclipse-dev] Minimal  
           the Eclipse project."                    compiler severity for  
         <eclipse-dev@xxxxxxxxxxx>                  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
_______________________________________________
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




Back to the top