Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [platform-releng-dev] Manually tweaking your .classpath file


I'm still not convinced this is the appropriate default.  From JDT's point of view, they do not know whether an access restriction will actually be enforced at runtime.  The typical Java runtime model has no such classpath restrictions at runtime.  People who aren't plugin developers may be using JDT access restrictions to determine if they are good API citizens, and punishing them with a compile time ERROR seems unwarranted.  On the PDE side, plugin developers running in promiscuous mode will likely still want those compiler warnings to remind them they are using non-API.  In this scenario, a WARNING severity for access restriction violations is also appropriate.  Even in promiscuous mode (today's world), these warnings are not arbitrary or bogus: they provide useful information about potential problems that may arise from reliance on non-API from another plugin.  

My suggestion: leave the JDT access restriction violation as a warning.  On the page where the user toggles to "strict" mode, either prompt or remind them to change the JDT access restriction severity to error.  That way only those brave (and likely rare) souls running in strict mode will get compile errors in their workspaces.



Wassim Melhem/Toronto/IBM@IBMCA
Sent by: platform-releng-dev-bounces@xxxxxxxxxxx

12/04/2005 04:30 PM

Please respond to
"Eclipse platform release engineering list."

To
"Eclipse platform release engineering list." <platform-releng-dev@xxxxxxxxxxx>
cc
Subject
Re: [platform-releng-dev] Manually tweaking your .classpath file





Disclaimer: I don't speak for the fine JDT team or any member of their
immediate families.

Let me reply to this one as I'm the one responsible for this request.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=90605


In a world where people don't tweak their .classpath files:

When you run in promiscuous mode, which is the default, you get no access
violations and no red Xs.  Hence, a very pleasant out of the box
experience.
When you change the self-hosting mode to strict, any access violations PDE
tells JDT to flag are real errors.  They are not warnings and they are not
to be ignored.
Any access violations flagged in strict mode will result in classloading
errors at runtime (when Eclipse is launched in strict mode).
So a severity level of ERROR is warranted.  No less.


In the world we currently live in:
Some teams have imposed extra restrictions on the pde classpath container
via the .classpath file.
While PDE discourages anybody from touching the pde classpath container
settings, teams are still free to overrestrict themselves as much as they
want.
The reason why these errors seem bogus is because these extra restrictions
are arbitrary and bogus.

Wassim.





                                                                         
            John                                                          
            Arthorne/Ottawa/I                                            
            BM@IBMCA                                                   To
            Sent by:                  "Eclipse platform release          
            platform-releng-d         engineering list."                  
            ev-bounces@eclips         <platform-releng-dev@xxxxxxxxxxx>  
            e.org                                                      cc
                                                                         
                                                                  Subject
            04/12/2005 02:15          Re: [platform-releng-dev] Manually  
            PM                        tweaking your .classpath file      
                                                                         
                                                                         
            Please respond to                                            
            "Eclipse platform                                            
                 release                                                  
               engineering                                                
                 list."                                                  
                                                                         
                                                                         





Why was the default severity set to error?  Since this has no effect on
runtime execution of code, this should be a compiler warning at best.  Many
plugins are trying to slowly wean themselves from using non-API between
"friend" plugins but won't be ready for 3.1.  I don't think we should have
out of box compiler settings that show Eclipse projects having errors.


                                                                         
Wassim Melhem/Toronto/IBM@IBMCA                                          
                                                                         
Sent by:                                                               To
platform-releng-dev-bounces@ecl              platform-releng-dev@eclipse.
ipse.org                                     org                          
                                                                       cc
                                                                         
12/04/2005 12:51 PM                                               Subject
                                             [platform-releng-dev]        
                                             Manually tweaking your      
       Please respond to                     .classpath file              
   "Eclipse platform release                                              
       engineering list."                                                
                                                                         
                                                                         
                                                                         
                                                                         
                                                                         





In today's build, JDT raised the default severity level of forbidden access
restrictions to ERROR.
If your team had chosen to manually tweak their .classpath file to impose
arbitrary access restrictions on the PDE classpath container,  you might
see red X's.

Note that this is a result of your choice and PDE's classpath computation
is not a factor.

Either

1. remove these restrictions from your .classpath file as they are
arbitrary and not real (ie. they are not enforced by the runtime)

OR

2. lower the default severity level of forbidden access restrictions back
down to WARNING.

Wassim.

Wassim Melhem


(Embedded image moved to file: pic28340.gif)  Wassim Melhem
Staff Software Developer, The Eclipse Project
IBM Toronto Laboratory
8200 Warden Ave, Markham, ON   L6G 1C7
Internal Mail: D1/R0Q/8200/MKM   PWA: 318
Phone: 905-413-2620 T/L: 969-2620 Fax: 905-413-4850
Email: wassimm@xxxxxxxxxx

_______________________________________________
platform-releng-dev mailing list
platform-releng-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/platform-releng-dev
[attachment "pic28340.gif" deleted by Wassim Melhem/Toronto/IBM]
_______________________________________________
platform-releng-dev mailing list
platform-releng-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/platform-releng-dev


_______________________________________________
platform-releng-dev mailing list
platform-releng-dev@xxxxxxxxxxx
https://dev.eclipse.org/mailman/listinfo/platform-releng-dev


Back to the top