Re: [announce] New Apache Harmony Committers : Mikhail Loenko, George Harley, Stepan Mishura
Congratulations to you all !! Geir Magnusson Jr wrote: Please join the Apache Harmony PPMC in welcoming the projects 3 newest committers : Stepan Mishura, Mikhail Loenko and George Harley These three individuals have shown sustained dedication to the project, an ability to work well with others, and share the common vision we have for Harmony. We all continue to expect great things from them. Gentlemen, as a first step to test your almighty powers of committitude, please update the committers page on the website. That should be a good (and harmless) exercise to test if everything is working. Things to do : 1) test ssh-ing to the server people.apache.org. 2) Change your login password on the machine 3) Add a public key to .ssh so you can stop using the password 4) Set your SVN password : just type 'svnpasswd' At this point, you should be good to go. Checkout the website from svn and update it. See if you can figure out how. Also, for your main harmony/enhanced/classlib/trunk please be sure that you have checked out via 'https' and not 'http' or you can't check in. You can switch using svn switch. (See the manual) Finally, although you now have the ability to commit, please remember : 1) continue being as transparent and communicative as possible. You earned committer status in part because of your engagement with others. While it was a have to situation because you had to submit patches and defend them, but we believe it is a want to. Community is the key to any Apache project. 2)We don't want anyone going off and doing lots of work locally, and then committing. Committing is like voting in Chicago - do it early and often. Of course, you don't want to break the build, but keep the commit bombs to an absolute minimum, and warn the community if you are going to do it - we may suggest it goes into a branch at first. Use branches if you need to. 3) Always remember that you can **never** commit code that comes from someone else, even a co-worker. All code from someone else must be submitted by the copyright holder (either the author or author's employer, depending) as a JIRA, and then follow up with the required ACQs and BCC. Again, thanks for your hard work so far, and welcome. The Apache Harmony PPMC -- Karan Singh - Terms of use : http://incubator.apache.org/harmony/mailing.html To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Disregard Harmony-212
Please disregard the issue Harmony-212. I think I pressed the submit button twice when creating the issue. -- Karan Singh
AWT and Swing implementation
Hi, I would like to start contributing towards the AWT and Swing implementation. I need help on how to get started, what native toolkits could be considered for this implementation? Are we looking at writing Java Wrappers to native widgets from scratch or using something already available ? -- Karan Singh
Re: AWT and Swing implementation
Geir Magnusson Jr wrote: It's my understanding that we may get a significant contribution in this area, so you may want to hold off on this for a little while. What else are you interested in? Msybe some of the tool work? Tool work would be interesting. Could you suggest something I could start working on? Would it be possible to list down expected contributions somewhere on the wiki. I am not sure if such information is already there -- Karan Singh
Re: [vote] Require compiler options that allow partial 5.0 language features
+1. I didnt quite understand as to why is it an undocumented compiler feature? The standard javac compiler does have a target option , which is probably what eclipse would be using to generate the class files for 1.4 target vm. Tim Ellison wrote: As discussed on the list, there is a compiler option in the 5.0 compilers we use that allows source code containing a subset of Java 5.0 language features to be compiled into 1.4 compatible class files. Since this is quite a significant change I'd like to get a vote on whether the project should make this compiler option a necessity for our code. The positive outcome of this is that we can develop APIs that rely on those 5.0 language features, and run the resulting code on existing 1.4-compatible VMs. The downside is that we are using an undocumented compiler feature on the reference implementation (it is supported on the Eclipse compiler). [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target [ ] 0 - I don't care [ ] -1 - No, don't change the compiler options (please state why) Regards, Tim -- Karan Singh
Re: [vote] Require compiler options that allow partial 5.0 language features
Hi Mark, I am probably missing something. The java tool docs for 1.5 mentions that javac -target is a standard option in compilers, so it is a documented compiler feature. What would be risk involved in using this feature which is already documented as a Standard Option in the tool docs of jdk1.5 ? Is there any other document other than tool docs which comes with jdk1.5 docs where the standard options of the compiler are mentioned? Mark Hindess wrote: +1 This opens up so many new opportunities for contribution that I think it's worth the risk of relying on an undocumented compiler feature ... and since the Eclipse compiler supports it then the risk is mitigated to a large extent anyway. Regards, Mark. On 3/17/06, Tim Ellison [EMAIL PROTECTED] wrote: As discussed on the list, there is a compiler option in the 5.0 compilers we use that allows source code containing a subset of Java 5.0 language features to be compiled into 1.4 compatible class files. Since this is quite a significant change I'd like to get a vote on whether the project should make this compiler option a necessity for our code. The positive outcome of this is that we can develop APIs that rely on those 5.0 language features, and run the resulting code on existing 1.4-compatible VMs. The downside is that we are using an undocumented compiler feature on the reference implementation (it is supported on the Eclipse compiler). [ ] +1 - Yes, change the build scripts to compile 5.0 code to 1.4 target [ ] 0 - I don't care [ ] -1 - No, don't change the compiler options (please state why) Regards, Tim -- Tim Ellison ([EMAIL PROTECTED]) IBM Java technology centre, UK. -- Mark Hindess [EMAIL PROTECTED] IBM Java Technology Centre, UK. -- Karan Singh
Re: Solution for 5.0 language features in Eclipse(Re: And enum types (Re: API with generics))
. -Nathan -Original Message- From: karan malhi [mailto:[EMAIL PROTECTED] Sent: Tuesday, March 14, 2006 8:04 PM To: harmony-dev@incubator.apache.org Subject: API with generics Hi, I might have missed out on it in earlier discussions so please excuse me for my ignorance. What is the strategy of harmony with regards to Generics? To be more specific, I am right now implementing the javax.accessibility.AccessibleStateSet class which has a protected variable with the following signature: protected VectorAccessibleState states My understanding is that currently generics are not supported. What should I do in this case? Should I just implement it without generics? Is there a webpage where we are listing api methods/fields which involve generics to later on update the code? -- Paulex Yang China Software Development Lab IBM -- Tim Ellison ([EMAIL PROTECTED]) IBM Java technology centre, UK. -- Karan Malhi
Re: Location of ResourceBundle classes for javax.accessibility.AccessibleBundle
Since nobody objected to this package structure, I will just assume the package to be org.apache.harmony.accessibility.internal Paulex Yang wrote: I'm not sure myself, but I personally think that is fine. There is also a Resources directory in every source folder, I have no idea what it is used for. Anyone can help? karan malhi wrote: Thanks Paulex, What about ResourceBundles specific to a package like for example javax.accessibility. Should we put the ResourceBundles in org.apache.harmony.accessibility.internal ? Paulex Yang wrote: Karan, karan malhi wrote: Hi, The javax.accessibility.AccessibleBundle class requires a default ResourceBundle. 1. Which package would we put the default resource bundle classes in? Currently the resource bundles are located in http://svn.apache.org/viewcvs.cgi/incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/internal/locale/ I think the classes without locale in its name is default bundles, for example, Country is a default one. 2. What locales are supported by Harmony? try java.util.Locale.getAvailableLocales() :) -- Karan Singh
Re: Location of ResourceBundle classes for javax.accessibility.AccessibleBundle
Thanks Paulex, What about ResourceBundles specific to a package like for example javax.accessibility. Should we put the ResourceBundles in org.apache.harmony.accessibility.internal ? Paulex Yang wrote: Karan, karan malhi wrote: Hi, The javax.accessibility.AccessibleBundle class requires a default ResourceBundle. 1. Which package would we put the default resource bundle classes in? Currently the resource bundles are located in http://svn.apache.org/viewcvs.cgi/incubator/harmony/enhanced/classlib/trunk/modules/luni/src/main/java/org/apache/harmony/luni/internal/locale/ I think the classes without locale in its name is default bundles, for example, Country is a default one. 2. What locales are supported by Harmony? try java.util.Locale.getAvailableLocales() :) -- Karan Singh
Re: [jira] Commented: (HARMONY-156) InputStreamReader.getEncoding() and OutputStreamWriter.getEncoding() should return a historical charset name.
http://www.sun.com/termsofuse.html This was the only Terms of Use for the sun.com website. I couldnt find anything specific for the bugs database. Section 10.4 lists some things regarding use of Sun material. I think that just like javadocs, the bugs database is also public information. And since we are not copying or distributing that stuff, but just providing a link to their material, I dont think that violates any terms. If linking does violate, then probably putting links to the sun javadocs for javax.* classes in Harmony would also be an issue. Geir Magnusson Jr wrote: Paulex Yang wrote: Ah, thank you very much, but...I have some concerns whether we can look at the Sun's bug database. Any official ideas from Harmony PPMC? ;-) I actually asked that question, and don't have an answer yet. Are there any listed terms of use or such? aside Lets not distinguish the PPMC that way - no need to place any special empahsis there. /aside geir karan malhi wrote: You might want to look at this http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6201170 Paulex Yang (JIRA) wrote: [ http://issues.apache.org/jira/browse/HARMONY-156?page=comments#action_12368656 ] Paulex Yang commented on HARMONY-156: - All the spec about Charset historical name is: Some charsets have an historical name that is defined for compatibility with previous versions of the Java platform. A charset's historical name is either its canonical name or one of its aliases. From this paragraph, I personally think the historical name is specific to RI without any public standard:(, so the only way to be compatible with RI is write testcases to get all historical names of RI supported Charsets, and store them in an map. I can provide the patch of tests(to get all historical name) and the mapping implementation, but before that, I hope I can get some better idea from the mailing list to avoid this ugly solution:-\. InputStreamReader.getEncoding() and OutputStreamWriter.getEncoding() should return a historical charset name. - Key: HARMONY-156 URL: http://issues.apache.org/jira/browse/HARMONY-156 Project: Harmony Type: Bug Components: Classlib Reporter: Dmitry M. Kononov Priority: Minor InputStreamReader.getEncoding() and OutputStreamWriter.getEncoding() return canonical names on the given charsets instead of historical ones. For example, new OutputStreamWriter(new ByteArrayOutputStream(), UTF-16BE).getEncoding() has to return the UnicodeBigUnmarked string as a historical name. But it returns UTF-16BE, that is a canonical name. The java spec reads the historical names as the charset names defined for compatibility with previous versions of the Java platform. -- Karan Singh
Re: [jira] Commented: (HARMONY-156) InputStreamReader.getEncoding() and OutputStreamWriter.getEncoding() should return a historical charset name.
Geir Magnusson Jr wrote: The issue is one of exposure - would there be any problem if our developers were exposed to the code in the Sun bug database. You are right. I didnt realize that bugs database could expose developers to code I believe the answer is no as long as we don't copy anything. geir Geir Magnusson Jr wrote: Paulex Yang wrote: Ah, thank you very much, but...I have some concerns whether we can look at the Sun's bug database. Any official ideas from Harmony PPMC? ;-) I actually asked that question, and don't have an answer yet. Are there any listed terms of use or such? aside Lets not distinguish the PPMC that way - no need to place any special empahsis there. /aside geir karan malhi wrote: You might want to look at this http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6201170 Paulex Yang (JIRA) wrote: [ http://issues.apache.org/jira/browse/HARMONY-156?page=comments#action_12368656 ] Paulex Yang commented on HARMONY-156: - All the spec about Charset historical name is: Some charsets have an historical name that is defined for compatibility with previous versions of the Java platform. A charset's historical name is either its canonical name or one of its aliases. From this paragraph, I personally think the historical name is specific to RI without any public standard:(, so the only way to be compatible with RI is write testcases to get all historical names of RI supported Charsets, and store them in an map. I can provide the patch of tests(to get all historical name) and the mapping implementation, but before that, I hope I can get some better idea from the mailing list to avoid this ugly solution:-\. InputStreamReader.getEncoding() and OutputStreamWriter.getEncoding() should return a historical charset name. - Key: HARMONY-156 URL: http://issues.apache.org/jira/browse/HARMONY-156 Project: Harmony Type: Bug Components: Classlib Reporter: Dmitry M. Kononov Priority: Minor InputStreamReader.getEncoding() and OutputStreamWriter.getEncoding() return canonical names on the given charsets instead of historical ones. For example, new OutputStreamWriter(new ByteArrayOutputStream(), UTF-16BE).getEncoding() has to return the UnicodeBigUnmarked string as a historical name. But it returns UTF-16BE, that is a canonical name. The java spec reads the historical names as the charset names defined for compatibility with previous versions of the Java platform. -- Karan Singh
Re: [VOTE] Accept HARMONY-88 : Contribution of code and unit tests for jndi, logging, prefs and sql plus unit tests only for beans, crypto, math, regex and security
+1 Geir Magnusson Jr wrote: All paperwork has been received. I'll be getting that into SVN today, but lest get the voting kicked off... Please vote on acceptance of the donation of Contribution of code and unit tests for jndi, logging, prefs and sql plus unit tests only for beans, crypto, math, regex and security : [ ] +1 Accept [ ] -1 Don't accept (provide reason) Vote will run 3 days or until all committers have voted. -- Karan Singh
Re: [VOTE] Accept HARMONY-57 : Contribution of unit test code for a number of components
+1 Geir Magnusson Jr wrote: All paperwork has been received. I'll be getting that into SVN today, but lets get the voting kicked off... Please vote on acceptance of the donation of ontribution of unit test code for a number of components : [ ] +1 Accept [ ] -1 Don't accept (provide reason) Vote will run 3 days or until all committers have voted. -- Karan Singh
any donations expected for awt and swing?
Hi, I am writing the interfaces for the javax.accessibility package. Some of the interfaces are dependent on classes from the awt package. Are we expecting any donations for awt, swing packages? If donations are not expected then what approach should I take? Should I start writing stuff for awt and swing (on which accessibility depends on) so that accessibility classes compile during a build in harmony? Please guide me here. Secondly, once a volunteer starts working on a Missing module as stated on http://incubator.apache.org/harmony/subcomponents/classlibrary/status.html , should the status be changed to something else like Work in progress or something? -- Karan Singh
Re: [jira] Commented: (HARMONY-156) InputStreamReader.getEncoding() and OutputStreamWriter.getEncoding() should return a historical charset name.
You might want to look at this http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6201170 Paulex Yang (JIRA) wrote: [ http://issues.apache.org/jira/browse/HARMONY-156?page=comments#action_12368656 ] Paulex Yang commented on HARMONY-156: - All the spec about Charset historical name is: Some charsets have an historical name that is defined for compatibility with previous versions of the Java platform. A charset's historical name is either its canonical name or one of its aliases. From this paragraph, I personally think the historical name is specific to RI without any public standard:(, so the only way to be compatible with RI is write testcases to get all historical names of RI supported Charsets, and store them in an map. I can provide the patch of tests(to get all historical name) and the mapping implementation, but before that, I hope I can get some better idea from the mailing list to avoid this ugly solution:-\. InputStreamReader.getEncoding() and OutputStreamWriter.getEncoding() should return a historical charset name. - Key: HARMONY-156 URL: http://issues.apache.org/jira/browse/HARMONY-156 Project: Harmony Type: Bug Components: Classlib Reporter: Dmitry M. Kononov Priority: Minor InputStreamReader.getEncoding() and OutputStreamWriter.getEncoding() return canonical names on the given charsets instead of historical ones. For example, new OutputStreamWriter(new ByteArrayOutputStream(), UTF-16BE).getEncoding() has to return the UnicodeBigUnmarked string as a historical name. But it returns UTF-16BE, that is a canonical name. The java spec reads the historical names as the charset names defined for compatibility with previous versions of the Java platform. -- Karan Singh
deprecated methods , javadocs
Do we need to add javadoc comments in classes? How to deal with deprecated classes,methods and constructors? My guess is that we should not care whether something is deprecated or not. We would still need that stuff for backward compatibility. However, I still would like to know if we need to keep certain rules/guidelines in mind when implementing deprecated stuff. -- Karan Singh
Re: deprecated methods , javadocs
Will the javadoc have to match exactly with the RI api docs? Geir Magnusson Jr wrote: karan malhi wrote: Do we need to add javadoc comments in classes? Sure. Javadoc is good. How to deal with deprecated classes,methods and constructors? Mark them deprecated? My guess is that we should not care whether something is deprecated or not. We would still need that stuff for backward compatibility. However, I still would like to know if we need to keep certain rules/guidelines in mind when implementing deprecated stuff. People use deprecated stuff. I think that there is no difference in rules, but probably in how much effort geir -- Karan Singh
Re: deprecated methods , javadocs
Geir Magnusson Jr wrote: We want any javadoc for javax.* classes to have a pointer to the sun javadoc (so it's clear we aren't trying to reproduce the spec) and have information about *our* implementation, clarifications, how we interpreted the spec, etc. Thanks. Thats what I wanted to know, javadocs for javax.* classes. karan malhi wrote: Will the javadoc have to match exactly with the RI api docs? Geir Magnusson Jr wrote: karan malhi wrote: Do we need to add javadoc comments in classes? Sure. Javadoc is good. How to deal with deprecated classes,methods and constructors? Mark them deprecated? My guess is that we should not care whether something is deprecated or not. We would still need that stuff for backward compatibility. However, I still would like to know if we need to keep certain rules/guidelines in mind when implementing deprecated stuff. People use deprecated stuff. I think that there is no difference in rules, but probably in how much effort geir -- Karan Singh
assigned modules
How would I know what modules/classes are being worked upon already. I know JIRA is one place to look into, but it may not show a complete picture until an issue is created for a module. Is there a list i.e. spreadsheet or a wiki page where we have list of modules and volunteers working on that? -- Karan Singh
Re: assigned modules
Yes I am interested in documenting this thing. I dont know the best way to do it, but I was thinking if everybody could send in the following information: 1. Name 2. Module and classes working on Then I can create a simple wiki page with the above information. However, it would be very difficult for me to keep the page updated, so I guess, it would be the responsibility of each contributor to update that wiki page if he/she starts/stops working on a new module/class. Here is an example of what I am talking of. We could do something similar, though not exactly the same format. http://wiki.apache.org/jdo/AllTheOtherTests Geir Magnusson Jr wrote: We actually don't assign things because we don't want to create feelings of territory. That said, if someone is working in an area, it's courteous to show some deference in order to avoid commit clashes :) However, I think your question is different - we don't have a full classlibrary map, and that would be nice. There is some info on the wiki already. Are you interested in producing one suitable for the website? geir karan malhi wrote: How would I know what modules/classes are being worked upon already. I know JIRA is one place to look into, but it may not show a complete picture until an issue is created for a module. Is there a list i.e. spreadsheet or a wiki page where we have list of modules and volunteers working on that? -- Karan Singh
what is LUNI?
What is LUNI? -- Karan Singh
Re: [jira] Commented: (HARMONY-68) java.nio.charset.Charset.isSupported(String charsetName) does not throw IllegalCharsetNameException for spoiled standard sharset name
Here is text from the j2se1.4.2 spec A charset name must begin with either a letter or a digit. The empty string is not a legal charset name. Charset names are not case-sensitive; that is, case is always ignored when comparing charset names. Charset names generally follow the conventions documented in /RFC 2278: IANA Charset Registration Procedures/ http://ietf.org/rfc/rfc2278.txt. According to RFC - 2278 Finally, charsets being registered for use with the text media type MUST have a primary name that conforms to the more restrictive syntax of the charset field in MIME encoded-words [RFC-2047, RFC-2184] and MIME extended parameter values [RFC-2184]. A combined ABNF definition for such names is as follows: mime-charset = 1*Any CHAR except SPACE, CTLs, and cspecials cspecials= ( / ) / / / @ / , / ; / : / / / / [ / ] / ? / . / = / * CHAR = any ASCII character; ( 0-177, 0.-127.) SPACE= ASCII SP, space; ( 40, 32.) CTL = any ASCII control ; ( 0- 37, 0.- 31.) character and DEL ; (177, 127.) If I have interpreted the above correctly, then it basically means that the name can start with any ASCII character except ASCII (octal) 40, 0-37, 177. A - is 055 and an _ is 137 which does not fall under the above exclude list. So primarily if I have a charset named -UTF-8 or _UTF-8, it is not an illegal name. So looks like the spec definition is further tightening the Charsets accepted by java in that the name can only start with a letter or a digit. How do we interpret *must* ? So Richard Liang wrote: Hello Tim, I'm wondering why I did not just copy the first sentence. :-) A charset name **must** begin with either a letter or a digit. Does this mean if the charset name which begin with neither a letter nor a digit should be regarded as an illegal charset name? Richard Liang China Software Development Lab, IBM Tim Ellison wrote: Richard Liang wrote: Hello Tim, I think this is caused by different understanding of the java spec: A charset name **must** begin with either a letter or a digit. The empty string is not a legal charset name What do think the implication of must here? :-) But the name isn't empty, it is -UTF-8 ? I must be missing something... Regards, Tim Tim Ellison (JIRA) wrote: [ http://issues.apache.org/jira/browse/HARMONY-68?page=comments#action_12366784 ] Tim Ellison commented on HARMONY-68: The test looks invalid to me. You shoud only expect an java.nio.charset.IllegalCharsetNameException if the name itself contains disallowed characters, and both underscore and dash are permitted. The code Charset.isSupported(-UTF-8) should return false, not throw an exception. java.nio.charset.Charset.isSupported(String charsetName) does not throw IllegalCharsetNameException for spoiled standard sharset name - Key: HARMONY-68 URL: http://issues.apache.org/jira/browse/HARMONY-68 Project: Harmony Type: Bug Components: Classlib Reporter: Svetlana Samoilenko Attachments: charset_patch.txt According to j2se 1.4.2 specification for Charset.isSupported(String charsetName) the method must throw IllegalCharsetNameException if the given charset name is illegal . Legal charset name must begin with either a letter or a digit. The test listed below shows that there is no the exception if to insert - or _ symbols before standard sharset name, for example -UTF-8 or _US-ASCII. Moreover the method returns true in this case. BEA also does not throw the exception but returns false. Code to reproduce: import java.nio.charset.*; public class test2 { public static void main (String[] args) { // string starts neither a letter nor a digit boolean sup=false; try{ sup=Charset.isSupported(-UTF-8); System.out.println(***BAD. should be exception; sup=+sup); sup=Charset.isSupported(_US-ASCII); System.out.println(***BAD. should be exception; sup=+sup); } catch (IllegalCharsetNameException e) { System.out.println(***OK. Expected IllegalCharsetNameException + e); } } } Steps to Reproduce: 1. Build Harmony (check-out on 2006-01-30) j2se subset as described in README.txt. 2. Compile test2.java using BEA 1.4 javac javac -d . test2.java 3. Run java using compatible VM (J9) java -showversion test2 Output: C:\tmpC:\jrockit-j2sdk1.4.2_04\bin\java.exe -showversion test2 java version 1.4.2_04 Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.2_04-b05) BEA WebLogic JRockit(TM) 1.4.2_04 JVM (build
Re: Do we want to be bug compatible? (was: Re: newbie to project-where to start from)
Geir Magnusson Jr wrote: Well, I don't really know if Sun would do that. There is an expert group that Sun has to deal with... But if it did happen, yes, we'd have to fix our code. I agree. Whatever experience I've had with java till now, I have found that Sun mainly deprecates a method and provides a replacement, instead of changing the spec for that method after the spec has been released. So, if Sun decides to deprecate a method, it will still not break harmony. I still feel our code should be spec compatible and not bug compatible with Sun's impl. As a developer, I would look at the API docs and then write the code. So, if our impl is compatible with the API docs, won't that make a case for using harmony instead of a buggy impl :) Thanks, Mikhail On 2/17/06, karan malhi [EMAIL PROTECTED] wrote: Anton Avtamonov wrote: IMHO, when spec states some exception we should be spec-compatible. +1 On 2/17/06, Mikhail Loenko [EMAIL PROTECTED] wrote: I agree with Tim that we should discuss on the dev list +1 Later we might want to have some roadmap once we find a number of similar issues At this point I think we might be compatible when RI throws wrong exceptions - for example it often mixes NPE and IllegalArgumentException Sometimes spec states IllegalArgumentException should be thrown, but implementation produces NPE. I think that is because IllegalArgumentException is missed in impl and algorithm just failed somewhere... IMHO, when spec states some exception we should be spec-compatible. -- Anton Avtamonov, Intel Middleware Products Division -- Karan Singh -- Karan Singh
Re: newbie to project-where to start from
Anton Avtamonov wrote: IMHO, when spec states some exception we should be spec-compatible. +1 On 2/17/06, Mikhail Loenko [EMAIL PROTECTED] wrote: I agree with Tim that we should discuss on the dev list +1 Later we might want to have some roadmap once we find a number of similar issues At this point I think we might be compatible when RI throws wrong exceptions - for example it often mixes NPE and IllegalArgumentException Sometimes spec states IllegalArgumentException should be thrown, but implementation produces NPE. I think that is because IllegalArgumentException is missed in impl and algorithm just failed somewhere... IMHO, when spec states some exception we should be spec-compatible. -- Anton Avtamonov, Intel Middleware Products Division -- Karan Singh
Re: [classlib] do we need a global exclude list?
Could there be a switch to over-ride the global exclude list entry/entries? This way a module by default would use a global exclude list and also have the freedom to ignore it and use the module exclude list. Geir Magnusson Jr wrote: However, I did imagine that we'd give the modules a bit of freedom and independence for testing - a global exclude list might impact that? Stepan Mishura wrote: Did anybody think of creating a 'global' (i.e. shared by all modules) exclude list or every module will have its own exclude list? Or Harmony tests will always pass and we don't need it at all :-) That would be the goal :) I see at least the following benefits of creating 'global' exclude list: all know issues are kept in one well known place (they don't spread between several private lists) That's true, but I always imagined that people would be working in the modules anyway, so there isn't much gain. also it is easier to create an exclude list for a target platform, for example, linux.exclude or win.exclude. Yes, that could be. Interesting idea. However, I did imagine that we'd give the modules a bit of freedom and independence for testing - a global exclude list might impact that? geir Thoughts? Thanks, Stepan Mishura Intel Middleware Products Division -- Karan Singh
newbie to project-where to start from
I need to know how I can start on harmony. I would like to start by writing some tests. Here are my questions : 1. Are there any predefined assertions to test or do we simply write test after looking at the api docs for each method 2. Are there any naming conventions for test cases 3. When one files a JIRA for a failed test, does one also attach the test to the JIRA -- Karan Singh
build fails - what next?
I followed the steps on the incubator website to build classlib from source. Build fails. What should I do next? Should I file a JIRA. I tried asking questions on the IRC channel but looks like that channel is just for general chat and not serious issues -- Karan Singh
Re: build fails - what next?
Alexey, Thanks for such a quick response. I have copied the errors below: compile.api: [echo] Compiling api classes from /home/karan/projects/Harmony/modules/security2/src/common/javasrc, /home/karan/projects/Harmony/modules/security2/src/linux/javasrc [javac] Compiling 1 source file to /home/karan/projects/Harmony/modules/security2/build/classes [javac] -- [javac] 1. ERROR in /home/karan/projects/Harmony/modules/security2/src/common/javasrc/javax/crypto/SealedObject.java [javac] (at line 63) [javac] encodedParams = (byte []) s.readUnshared(); [javac] [javac] The method readUnshared() is undefined for the type ObjectInputStream [javac] -- [javac] 2. ERROR in /home/karan/projects/Harmony/modules/security2/src/common/javasrc/javax/crypto/SealedObject.java [javac] (at line 64) [javac] encryptedContent = (byte []) s.readUnshared(); [javac] [javac] The method readUnshared() is undefined for the type ObjectInputStream [javac] -- [javac] 3. ERROR in /home/karan/projects/Harmony/modules/security2/src/common/javasrc/javax/crypto/SealedObject.java [javac] (at line 65) [javac] sealAlg = (String) s.readUnshared(); [javac] [javac] The method readUnshared() is undefined for the type ObjectInputStream [javac] -- [javac] 4. ERROR in /home/karan/projects/Harmony/modules/security2/src/common/javasrc/javax/crypto/SealedObject.java [javac] (at line 66) [javac] paramsAlg = (String) s.readUnshared(); [javac] [javac] The method readUnshared() is undefined for the type ObjectInputStream [javac] -- [javac] 4 problems (4 errors) BUILD FAILED /home/karan/projects/Harmony/make/build.xml:41: The following error occurred while executing this line: /home/karan/projects/Harmony/native-src/build.xml:103: The following error occurred while executing this line: /home/karan/projects/Harmony/modules/security2/make/build.xml:299: Compile failed; see the compiler error output for details. Alexey Petrenko wrote: First of all you can add error message to your post :) -- Alexey A. Petrenko Intel Middleware Products Division -- Karan Singh
Re: build fails - what next?
I just tried to follow the steps to build classlib. Here is the link to the page I followed the instructions from. http://incubator.apache.org/harmony/subcomponents/classlibrary/build_classlib.html I ran ant from the Harmony/make folder Alexey Petrenko wrote: I can not reproduce your errors on my machine with latest sources. So you can try to update your sources and check the build environment. Which commnad do you run for building? I've tried to run ant from classlib/trunk/make directory. -- Alexey A. Petrenko Intel Middleware Products Division -- Karan Singh
Re: build fails - what next?
[echo] on platform=Linux version=2.6.14-1.1656_FC4 arch=i386 [echo] with java home = /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre VM version = 4.0.2 20051125 (Red Hat 4.0.2-8) vendor = Free Software Foundation, Inc. Alexey Petrenko wrote: [javac] 1. ERROR in /home/karan/projects/Harmony/modules/security2/src/common/javasrc/javax/crypto/SealedObject.java [javac] (at line 63) [javac] encodedParams = (byte []) s.readUnshared(); [javac] [javac] The method readUnshared() is undefined for the type ObjectInputStream What JVM do you use to run ant? It seems that there is no ObjectInputStream.readUnshared method in your JVM... -- Alexey A. Petrenko Intel Middleware Products Division -- Karan Singh
Re: build fails - what next?
I set JAVA_HOME to jdk1.5 and the build still fails timestamp: [echo] build-date=20060214 [echo] build-time=20060214_1033) [echo] on platform=Linux version=2.6.14-1.1656_FC4 arch=i386 [echo] with java home = /home/karan/jdk1.5.0_06/jre VM version = 1.5.0_06-b05 vendor = Sun Microsystems Inc. BUILD FAILED /home/karan/projects/Harmony/make/build.xml:41: The following error occurred while executing this line: /home/karan/projects/Harmony/native-src/build.xml:103: The following error occurred while executing this line: /home/karan/projects/Harmony/modules/security2/make/build.xml:331: The following error occurred while executing this line: /home/karan/projects/Harmony/modules/security2/make/native/linux/jaasnix.xml:72: exec returned: 1 Geir Magnusson Jr wrote: That's the problem. As far as I know, GCJ isn't quite complete yet... karan malhi wrote: [echo] on platform=Linux version=2.6.14-1.1656_FC4 arch=i386 [echo] with java home = /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre VM version = 4.0.2 20051125 (Red Hat 4.0.2-8) vendor = Free Software Foundation, Inc. Alexey Petrenko wrote: [javac] 1. ERROR in /home/karan/projects/Harmony/modules/security2/src/common/javasrc/javax/crypto/SealedObject.java [javac] (at line 63) [javac] encodedParams = (byte []) s.readUnshared(); [javac] [javac] The method readUnshared() is undefined for the type ObjectInputStream What JVM do you use to run ant? It seems that there is no ObjectInputStream.readUnshared method in your JVM... -- Alexey A. Petrenko Intel Middleware Products Division -- Karan Singh
Re: build fails - what next? -- outerr.txt
Below are the contents of the file outerr.txt gcc: installation problem, cannot exec 'cc1plus': No such file or directory I dont know why it is still saying gcc problem. I specified a JAVACMD variable to point to the java executable under jdk1.5/bin, as Alexey had mentioned in a previous email. Geir Magnusson Jr wrote: ok. Now we're making progress. Did you look at what that line in the xml document is? It's the c/c++ compiler. There's a file outerr.txt That should have more information about what exactly failed... Can you look there and report back? karan malhi wrote: I set JAVA_HOME to jdk1.5 and the build still fails timestamp: [echo] build-date=20060214 [echo] build-time=20060214_1033) [echo] on platform=Linux version=2.6.14-1.1656_FC4 arch=i386 [echo] with java home = /home/karan/jdk1.5.0_06/jre VM version = 1.5.0_06-b05 vendor = Sun Microsystems Inc. BUILD FAILED /home/karan/projects/Harmony/make/build.xml:41: The following error occurred while executing this line: /home/karan/projects/Harmony/native-src/build.xml:103: The following error occurred while executing this line: /home/karan/projects/Harmony/modules/security2/make/build.xml:331: The following error occurred while executing this line: /home/karan/projects/Harmony/modules/security2/make/native/linux/jaasnix.xml:72: exec returned: 1 Geir Magnusson Jr wrote: That's the problem. As far as I know, GCJ isn't quite complete yet... karan malhi wrote: [echo] on platform=Linux version=2.6.14-1.1656_FC4 arch=i386 [echo] with java home = /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre VM version = 4.0.2 20051125 (Red Hat 4.0.2-8) vendor = Free Software Foundation, Inc. Alexey Petrenko wrote: [javac] 1. ERROR in /home/karan/projects/Harmony/modules/security2/src/common/javasrc/javax/crypto/SealedObject.java [javac] (at line 63) [javac] encodedParams = (byte []) s.readUnshared(); [javac] [javac] The method readUnshared() is undefined for the type ObjectInputStream What JVM do you use to run ant? It seems that there is no ObjectInputStream.readUnshared method in your JVM... -- Alexey A. Petrenko Intel Middleware Products Division -- Karan Singh
Re: build fails - what next? -- outerr.txt
I dont know why it is still saying gcc problem. I specified a JAVACMD variable to point to the java executable under jdk1.5/bin, as Alexey had mentioned in a previous email. I didnt realize it was a gcc issue and not a gcj issue. Sorry Geir Magnusson Jr wrote: ok. Now we're making progress. Did you look at what that line in the xml document is? It's the c/c++ compiler. There's a file outerr.txt That should have more information about what exactly failed... Can you look there and report back? karan malhi wrote: I set JAVA_HOME to jdk1.5 and the build still fails timestamp: [echo] build-date=20060214 [echo] build-time=20060214_1033) [echo] on platform=Linux version=2.6.14-1.1656_FC4 arch=i386 [echo] with java home = /home/karan/jdk1.5.0_06/jre VM version = 1.5.0_06-b05 vendor = Sun Microsystems Inc. BUILD FAILED /home/karan/projects/Harmony/make/build.xml:41: The following error occurred while executing this line: /home/karan/projects/Harmony/native-src/build.xml:103: The following error occurred while executing this line: /home/karan/projects/Harmony/modules/security2/make/build.xml:331: The following error occurred while executing this line: /home/karan/projects/Harmony/modules/security2/make/native/linux/jaasnix.xml:72: exec returned: 1 Geir Magnusson Jr wrote: That's the problem. As far as I know, GCJ isn't quite complete yet... karan malhi wrote: [echo] on platform=Linux version=2.6.14-1.1656_FC4 arch=i386 [echo] with java home = /usr/lib/jvm/java-1.4.2-gcj-1.4.2.0/jre VM version = 4.0.2 20051125 (Red Hat 4.0.2-8) vendor = Free Software Foundation, Inc. Alexey Petrenko wrote: [javac] 1. ERROR in /home/karan/projects/Harmony/modules/security2/src/common/javasrc/javax/crypto/SealedObject.java [javac] (at line 63) [javac] encodedParams = (byte []) s.readUnshared(); [javac] [javac] The method readUnshared() is undefined for the type ObjectInputStream What JVM do you use to run ant? It seems that there is no ObjectInputStream.readUnshared method in your JVM... -- Alexey A. Petrenko Intel Middleware Products Division -- Karan Singh
Re: build fails - what next? -- outerr.txt
The build was successful. The problem was with gcc-c++. Thanks for all the help. Alexey Petrenko wrote: So Java part is built and you got troubles with gcc... 2006/2/14, karan malhi [EMAIL PROTECTED]: Alexey, I have set the JAVACMD variable to point to java executable explicitly as you can see below: [EMAIL PROTECTED] make]$ echo $JAVACMD /home/karan/jdk1.5.0_06/bin/java Below is the complete output after running ant. [EMAIL PROTECTED] make]$ ant Buildfile: build.xml default: [echo] [echo] [echo] Building Java component archives... [echo] clean-bin: [delete] Deleting 1645 files from /home/karan/projects/Harmony/bin [delete] Deleted 85 directories from /home/karan/projects/Harmony/bin clean-layout: [delete] Deleting 34 files from /home/karan/projects/Harmony/deploy clean-package: [delete] Deleting 11 files from /home/karan/projects/Harmony/components [delete] Deleted 1 directory from /home/karan/projects/Harmony/components clean: copy-resources: [mkdir] Created dir: /home/karan/projects/Harmony/bin [copy] Copying 2 files to /home/karan/projects/Harmony/bin compile: [javac] Compiling 1280 source files to /home/karan/projects/Harmony/bin [javac] Note: Some input files use or override a deprecated API. [javac] Note: Recompile with -Xlint:deprecation for details. package: [mkdir] Created dir: /home/karan/projects/Harmony/components [jar] Building jar: /home/karan/projects/Harmony/components/archive.jar [jar] Building jar: /home/karan/projects/Harmony/components/kernel-stubs.jar [jar] Building jar: /home/karan/projects/Harmony/components/luni.jar [jar] Building jar: /home/karan/projects/Harmony/components/nio.jar [jar] Building jar: /home/karan/projects/Harmony/components/nio_char.jar [jar] Building jar: /home/karan/projects/Harmony/components/security.jar [jar] Building jar: /home/karan/projects/Harmony/components/x-net.jar [jar] Building jar: /home/karan/projects/Harmony/components/text.jar [jar] Building jar: /home/karan/projects/Harmony/components/math.jar [jar] Building jar: /home/karan/projects/Harmony/components/regex.jar [jar] Building jar: /home/karan/projects/Harmony/components/sql.jar layout: [copy] Copying 2 files to /home/karan/projects/Harmony/deploy/jre/lib/boot [copy] Copying 11 files to /home/karan/projects/Harmony/deploy/jre/lib/boot [copy] Copying 1 file to /home/karan/projects/Harmony/deploy/jre/lib/boot [copy] Copying 18 files to /home/karan/projects/Harmony/deploy/jre/bin [copy] Copying 2 files to /home/karan/projects/Harmony/deploy/jre/lib/security default: [echo] [echo] [echo] Building native libs and executables... [echo] init: windows-properties: linux-properties: properties: overlay-oss: [unzip] Expanding: /home/karan/projects/Harmony/depends/oss/fdlibm_5.2.zip into /home/karan/projects/Harmony/native-src/linux.IA32/fdlibm [unzip] Expanding: /home/karan/projects/Harmony/depends/oss/zlib_1.2.3.zip into /home/karan/projects/Harmony/native-src/linux.IA32/zlib [unzip] Expanding: /home/karan/projects/Harmony/depends/oss/linux.IA32/icu4c-3.4-harmony.zip into /home/karan/projects/Harmony/native-src/linux.IA32 make-clean: make-all: timestamp: [echo] build-date=20060214 [echo] build-time=20060214_1115) [echo] on platform=Linux version=2.6.14-1.1656_FC4 arch=i386 [echo] with java home = /home/karan/jdk1.5.0_06/jre VM version = 1.5.0_06-b05 vendor = Sun Microsystems Inc. setname.win: setname.linux: init: [echo] platform name=lnx [echo] if.x86_64=${if.x86_64} [echo] if.x86=true [echo] if.ipf=${if.ipf} [echo] create base dirs... init.java_home: [echo] JAVA_HOME=/home/karan/jdk1.5.0_06 init.win: init.linux: compile.api: [echo] Compiling api classes from /home/karan/projects/Harmony/modules/security2/src/common/javasrc, /home/karan/projects/Harmony/modules/security2/src/linux/javasrc build.jars: build.one.jar: build.one.jar: build.one.jar: build.native: [echo] jni_h.path=/home/karan/projects/Harmony/native-src/linux.IA32/include [echo] jni_md_h.path=/home/karan/projects/Harmony/native-src/linux.IA32/include init: [echo] native_compiler.name=gcc [echo] library.name=jaasnix [echo] ntvlibname.path=/home/karan/projects/Harmony/modules/security2/src/linux/other/jaasnix compile.linux.native: [echo] make linux native... [echo] path.to.build.native=/home/karan/projects/Harmony/modules/security2/src/linux/other/jaasnix BUILD FAILED /home/karan/projects/Harmony/make/build.xml:41: The following error occurred while executing this line: /home/karan/projects/Harmony/native-src/build.xml:103: The following error occurred while executing this line: /home/karan/projects/Harmony
Re: error when using sun compiler
[EMAIL PROTECTED] bin]$ ./java -version java version 1.4.2 (subset) (c) Copyright 1991, 2005 The Apache Software Foundation or its licensors, as applicable. What I want to do is compile the class with sun jdk and run it within harmony. Is it possible to do something like that right now? Thomas Engelschmidt wrote: Hi, Try java -version or which java - to clarify the version and path of the java binary. regards karan malhi wrote: Hi, Tried to compile and run a simple hello world program. When I use the eclipse programmer, it works fine, but when I use the sun's jdk compiler, I get an error . I am still trying to get a feel of this project, so probably this was not supposed to work. Could you please help me understand why am I getting this error? -Eclipse Compiler --- [EMAIL PROTECTED] bin]$ pwd /home/karan/projects/Harmony/deploy/jre/bin [EMAIL PROTECTED] bin]$ javac -version Eclipse Java Compiler v_579_R31x, 3.1.1 release, Copyright IBM Corp 2000, 2005. All rights reserved. [EMAIL PROTECTED] bin]$ javac Test.java [EMAIL PROTECTED] bin]$ ./java Test Hello World ---Suns JDK [EMAIL PROTECTED] bin]$ ~/jdk1.5.0_06/bin/javac -version javac 1.5.0_06 [EMAIL PROTECTED] bin]$ ~/jdk1.5.0_06/bin/javac Test.java [EMAIL PROTECTED] bin]$ ./java Test Exception in thread main java.lang.UnsupportedClassVersionError: (Test) bad major version at offset=6 at java.lang.ClassLoader.defineClassImpl(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:271) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:64) at java.net.URLClassLoader.findClassImpl(URLClassLoader.java:1087) at java.net.URLClassLoader$4.run(URLClassLoader.java:598) at java.security.AccessController.doPrivileged(AccessController.java:206) at java.net.URLClassLoader.findClass(URLClassLoader.java:595) at com.ibm.oti.vm.URLSystemClassLoader.findClass(URLSystemClassLoader.java:25) at java.lang.ClassLoader.loadClass(ClassLoader.java:631) at com.ibm.oti.vm.URLSystemClassLoader.loadClass(URLSystemClassLoader.java:56) at java.lang.ClassLoader.loadClass(ClassLoader.java:587) -- Karan Singh
Re: error when using sun compiler
Thanks Alexey, This works now. Actually I had to also specify the version of the source. When I only specify the -target this is what I get: [EMAIL PROTECTED] bin]$ ~/jdk1.5.0_06/bin/javac -target 1.4 Test.java javac: target release 1.4 conflicts with default source release 1.5 However, when i specify both -source and -target, it works fine. [EMAIL PROTECTED] bin]$ ~/jdk1.5.0_06/bin/javac -target 1.4 -source 1.4 Test.java [EMAIL PROTECTED] bin]$ ./java Test Hello World Alexey Petrenko wrote: ---Suns JDK [EMAIL PROTECTED] bin]$ ~/jdk1.5.0_06/bin/javac -version javac 1.5.0_06 [EMAIL PROTECTED] bin]$ ~/jdk1.5.0_06/bin/javac Test.java [EMAIL PROTECTED] bin]$ ./java Test Exception in thread main java.lang.UnsupportedClassVersionError: (Test) bad major version at offset=6 It easy :) You've compiled a class with 1.5 compiler and then run it on 1.4 VM. You can fix this issue by two ways: 1. Complile the class with -target 1.4 javac option (~/jdk1.5.0_06/bin/javac -target 1.4 Test.java) and run as ./java Test 2. Compile without target option as you did it before and run on 1.5 VM (~/jdk1.5.0_06/bin/java Test) This should help. -- Alexey A. Petrenko Intel Middleware Products Division -- Karan Singh
Re: Subversion problems?
I had the same issues. rm -Rf and another checkout worked. On 1/18/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote: Well I tried the pre-compiled Subversion packages that were suggested, and they work a treat! Thanks Craig. It seems that between my lack of SSL support, and some connection problems yesterday (causing the chunk errors), the problems were all at my end. Seems to be resolved now though, and this morning I was able to checkout a fresh copy of the tree :-) Thanks for the help guys! Elliott That's the one that I use and haven't ever had a problem. geir Craig Blake wrote: I am on a Mac as well, and IIRC when setting up SVN originally I found the binary available from Fink did not support SSL. The binary available from Metassian does, however, and it seems to work pretty well: http://metissian.com/projects/macosx/subversion/ Craig On Jan 17, 2006, at 9:40 AM, [EMAIL PROTECTED] wrote: Ok guys thanks for the responses. Geir, George, your right I think, definitely looks like something my end now! I was using https://svn.apache.org/repos/asf/incubator/harmony as the url for my working copy, and the problems I am having are using the svn command line client (v1.2.3, r15833) on Mac OS X. Since you guys said you weren't having problems, I tried checking out the classlib from a dedicated server I've got running FC3 and svn command line client v1.3.0 (r17949), and it seems to be working fine! Leo, comments inline (apologies for any bad formatting, using webmail): On Tue, Jan 17, 2006 at 05:00:56PM -, [EMAIL PROTECTED] wrote: Hi guys, I've just tried updating my Harmony tree from Subversion, but I'm getting this error: svn: SSL is not supported This means your svn client was compiled without SSL support (or the webdav lib that svn uses, neon, was compiled without SSL support). -- Karan Malhi
Re: Compilers and configuration tools
I think Tanuj was just comparing the similarities GCC and VC++ in terms of free download. I didnt see him mention anywhere that he doesnt like the GPL license on GCC :) Francisco Andrades Grassi wrote: Greetings, Tanuj Mathur wrote: Hey, It is only the actual IDE that is commercial, with the Express Editions estimated to cost $49 per copy (although the betas are free, as Devanum pointed out). Right - but still - we can't force people to go buy Express. Just to clear up any confusion, the VC++ 2003 command line compiler and the required utilities and libraries are available as a free download, exactly like GCC. That's not correct. GCC is Free Software, VC++ 2003 compiler, although a free-of-charge download, is propritary software (you don't have access to the source and can't create derivative works under any circumstance). Even more, I believe the license on the VC++ 2003 compiler does not allow you to run commercial applications. Please do not compare the proprietary compiler from Microsoft with GCC in terms of 'free availability'. You may not like the GPL license on GCC (which I really like), but that another issue. -- Karan Singh