Commons Email
  1. Commons Email
  2. EMAIL-64

Use wiser instead of dumbster for test cases

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 1.1
    • Fix Version/s: 1.1
    • Labels:
      None

      Description

      Since the test cases depend on a snapshot of the dead project dumbster, the tests should be changed to use the wiser test email server instead. Marking as 1.1 fix since this should get done before 1.1 goes out the door.

      1. dumbster_to_wiser_jdk14_pom.diff
        3 kB
        Bindul Bhowmik
      2. dumbster_to_wiser_xdocs.patch
        3 kB
        Bindul Bhowmik
      3. dumbster_to_wiser.patch
        19 kB
        Bindul Bhowmik

        Activity

        Show
        Henri Yandell added a comment - http://subethasmtp.tigris.org/wiser.html
        Hide
        dion gillard added a comment -

        How 'live' is wiser?

        Show
        dion gillard added a comment - How 'live' is wiser?
        Hide
        Ben Speakmon added a comment -

        From a look at their mailing list archive, it seems quiet but alive – several svn commits and a few discussion threads in the last few weeks. No open bugs either. Without knowing the devs over there personally, it appears the project is alive and has active users.

        Personally, having to rely on an unreleased snapshot of an indisputably dead project seems a bigger risk to me than moving to a quiet yet alive alternative, but I am open to being persuaded otherwise.

        Show
        Ben Speakmon added a comment - From a look at their mailing list archive, it seems quiet but alive – several svn commits and a few discussion threads in the last few weeks. No open bugs either. Without knowing the devs over there personally, it appears the project is alive and has active users. Personally, having to rely on an unreleased snapshot of an indisputably dead project seems a bigger risk to me than moving to a quiet yet alive alternative, but I am open to being persuaded otherwise.
        Hide
        dion gillard added a comment -

        I'm happy to move to wiser, just wanted to make sure we're not going from dead project to dead project.

        Show
        dion gillard added a comment - I'm happy to move to wiser, just wanted to make sure we're not going from dead project to dead project.
        Hide
        Bindul Bhowmik added a comment -

        If no-one else has already started on this, I would be happy to give this a shot. I should have next weekend to work on this.

        Show
        Bindul Bhowmik added a comment - If no-one else has already started on this, I would be happy to give this a shot. I should have next weekend to work on this.
        Hide
        Ben Speakmon added a comment -

        I'm not going to have time before this weekend to do it, so feel free.

        Show
        Ben Speakmon added a comment - I'm not going to have time before this weekend to do it, so feel free.
        Hide
        Bindul Bhowmik added a comment -

        Thanks.

        Before I dive into the changes I had a couple of questions:

        1. Wiser is licensed under LGPL. Is that fine? I understand that we would not be distributing the wiser code/binaries, but we would be linking to them. I am not strong on legal aspects of licenses, so just clarifying.

        2. Unlike dumbster, Wiser does not have any direct methods to check if the SMTPServer is running, and the test code checks that at a multiple of locations. We could abandon that check all together or we could check if the SMTPServer is running using two ways: check for the Thread (SMTPServer starts the thread with its classname), or try to check if the socket is listening. Wanted to know the preference of the community on this.

        Show
        Bindul Bhowmik added a comment - Thanks. Before I dive into the changes I had a couple of questions: 1. Wiser is licensed under LGPL. Is that fine? I understand that we would not be distributing the wiser code/binaries, but we would be linking to them. I am not strong on legal aspects of licenses, so just clarifying. 2. Unlike dumbster, Wiser does not have any direct methods to check if the SMTPServer is running, and the test code checks that at a multiple of locations. We could abandon that check all together or we could check if the SMTPServer is running using two ways: check for the Thread (SMTPServer starts the thread with its classname), or try to check if the socket is listening. Wanted to know the preference of the community on this.
        Hide
        Bindul Bhowmik added a comment -

        I have started to move the test cases over to using Wiser. However, I found out that Wiser is built on Java 1.5. The version of Wiser/SubethaSMTP I am using is 1.0.3. This is the only version available on Maven repositories (http://repo1.maven.org/maven2/org/subethamail/).

        So, the tests run when using a JRE 1.5, or I get a class version error.

        Looking at the subetha website, the latest version is 1.1 (http://subethasmtp.tigris.org/servlets/ProjectDocumentList?folderID=7035&expandFolder=7035&folderID=7624) but that has not been uploaded to maven yet. The site also lists a JRE 1.4 version of subetha smtp and subetha wiser 1.1 (http://subethasmtp.tigris.org/servlets/ProjectDocumentList?folderID=7624&expandFolder=7624&folderID=7035), but that too is not up on maven.

        If the license of the tools is fine, could someone add subetha to maven? Or are we OK living with Java 1.5 as the required compiler for commons-email?

        Show
        Bindul Bhowmik added a comment - I have started to move the test cases over to using Wiser. However, I found out that Wiser is built on Java 1.5. The version of Wiser/SubethaSMTP I am using is 1.0.3. This is the only version available on Maven repositories ( http://repo1.maven.org/maven2/org/subethamail/ ). So, the tests run when using a JRE 1.5, or I get a class version error. Looking at the subetha website, the latest version is 1.1 ( http://subethasmtp.tigris.org/servlets/ProjectDocumentList?folderID=7035&expandFolder=7035&folderID=7624 ) but that has not been uploaded to maven yet. The site also lists a JRE 1.4 version of subetha smtp and subetha wiser 1.1 ( http://subethasmtp.tigris.org/servlets/ProjectDocumentList?folderID=7624&expandFolder=7624&folderID=7035 ), but that too is not up on maven. If the license of the tools is fine, could someone add subetha to maven? Or are we OK living with Java 1.5 as the required compiler for commons-email?
        Hide
        Ben Speakmon added a comment -

        I wouldn't be happy with requiring JDK 1.5 to build, especially since no code in email uses 1.5 features (and it should stay that way).

        We should get the 1.4-compatible one into maven. We could hold off on changing the test cases until the repository change goes through or just have anybody who wants to dev on email manually install it in their own repository. Either way, I don't want a temporary maven road bump to force another JDK revision for building.

        Show
        Ben Speakmon added a comment - I wouldn't be happy with requiring JDK 1.5 to build, especially since no code in email uses 1.5 features (and it should stay that way). We should get the 1.4-compatible one into maven. We could hold off on changing the test cases until the repository change goes through or just have anybody who wants to dev on email manually install it in their own repository. Either way, I don't want a temporary maven road bump to force another JDK revision for building.
        Hide
        dion gillard added a comment -

        I'm with Ben.

        Show
        dion gillard added a comment - I'm with Ben.
        Hide
        Bindul Bhowmik added a comment -

        I agree too, needed to confirm it with others though.

        I will attach a patch to the site documentation as well with the patch for the test cases, stating the same. Talking about which email 1.0 also went out with a similar restriction, it required Java 1.3, but the test cases required Java 1.4 (see http://jakarta.apache.org/commons/email/building.html).

        Coming back to wiser on maven. I don't believe wiser releases to maven yet (see the mail thread at http://www.subethamail.org/se/archive_msg.jsp?msgId=7577). The only version of subetha I found on a maven repository is the 1.0.3 (compiled with Java 1.5) and they have had 3 releases since. I guess someone else put it up on the repository.

        Show
        Bindul Bhowmik added a comment - I agree too, needed to confirm it with others though. I will attach a patch to the site documentation as well with the patch for the test cases, stating the same. Talking about which email 1.0 also went out with a similar restriction, it required Java 1.3, but the test cases required Java 1.4 (see http://jakarta.apache.org/commons/email/building.html ). Coming back to wiser on maven. I don't believe wiser releases to maven yet (see the mail thread at http://www.subethamail.org/se/archive_msg.jsp?msgId=7577 ). The only version of subetha I found on a maven repository is the 1.0.3 (compiled with Java 1.5) and they have had 3 releases since. I guess someone else put it up on the repository.
        Hide
        Bindul Bhowmik added a comment -

        The first cut of modified test cases to use Wiser instead of Dumbster. After review, the changes should be committed only if we are sure of the license issue (https://issues.apache.org/jira/browse/EMAIL-64#action_12472517).

        Since there is no version of Wiser compiled with JDK 1.4 in Maven repositories, developers need to install the JDK 1.4 versions of Wiser into the local repositories manually. I have documented the location to download Wiser and the install steps (groupId, artifactId) in the patch to building.xml (dumbster_to_wiser_xdocs.patch).

        The patches are for the test case classes and the documentation.

        Since the pom.xml has not been committed yet, I have attached a diff from the pom patch submitted in EMAIL-63 (https://issues.apache.org/jira/secure/attachment/12351005/pomv3.xml).

        Show
        Bindul Bhowmik added a comment - The first cut of modified test cases to use Wiser instead of Dumbster. After review, the changes should be committed only if we are sure of the license issue ( https://issues.apache.org/jira/browse/EMAIL-64#action_12472517 ). Since there is no version of Wiser compiled with JDK 1.4 in Maven repositories, developers need to install the JDK 1.4 versions of Wiser into the local repositories manually. I have documented the location to download Wiser and the install steps (groupId, artifactId) in the patch to building.xml (dumbster_to_wiser_xdocs.patch). The patches are for the test case classes and the documentation. Since the pom.xml has not been committed yet, I have attached a diff from the pom patch submitted in EMAIL-63 ( https://issues.apache.org/jira/secure/attachment/12351005/pomv3.xml ).
        Hide
        Jon Stevens added a comment -

        Hi everyone,

        SubEtha SMTP and Wiser are not dead at all. It's very actively maintained (for a project that is essentially functionally complete) and has no known major bugs. I'm working with a contributor to add AUTH support as well as doing a re-write with apache mina as the core networking engine.

        As for maven... well, the pom.xml files were donated by someone else. I personally hate maven and wouldn't use it if my life depended on it (and yes, i understand how maven works and have tried to use it). If you guys want to see the latest version of subethasmtp up on the iblibio repo, then you get to figure out how to make that happen.

        As for JDK 1.4 compatibility... the ant build files will produce a jdk 1.4 version using the retroweaver stuff. it works great.

        As for the LGPL... it's an issue for the ASF to depend on it. I'll eventually change the license to an ASF license, so don't worry about it. Go ahead and use it.

        Oh and I was the one who started this project ya'll are working on right now. So phewy on you Dion. =) =) I'm just glad to see there is still people who use and develop it.

        cheers!

        -jon stevens

        Show
        Jon Stevens added a comment - Hi everyone, SubEtha SMTP and Wiser are not dead at all. It's very actively maintained (for a project that is essentially functionally complete) and has no known major bugs. I'm working with a contributor to add AUTH support as well as doing a re-write with apache mina as the core networking engine. As for maven... well, the pom.xml files were donated by someone else. I personally hate maven and wouldn't use it if my life depended on it (and yes, i understand how maven works and have tried to use it). If you guys want to see the latest version of subethasmtp up on the iblibio repo, then you get to figure out how to make that happen. As for JDK 1.4 compatibility... the ant build files will produce a jdk 1.4 version using the retroweaver stuff. it works great. As for the LGPL... it's an issue for the ASF to depend on it. I'll eventually change the license to an ASF license, so don't worry about it. Go ahead and use it. Oh and I was the one who started this project ya'll are working on right now. So phewy on you Dion. =) =) I'm just glad to see there is still people who use and develop it. cheers! -jon stevens
        Hide
        Ben Speakmon added a comment -

        Um, hi Jon, fancy meeting you here.

        So it looks like getting subetha/wiser into the maven repository is on us. We should be good neighbors and upload both the 1.5 and 1.4-compatible versions. I don't know the maven handwave for doing that, and I've never submitted a pom/jar to the repo before; anybody else know how to do it and feel like volunteering?

        Licensing: boy, am I NOT qualified to speak on that topic. Dion? Henri?

        Show
        Ben Speakmon added a comment - Um, hi Jon, fancy meeting you here. So it looks like getting subetha/wiser into the maven repository is on us. We should be good neighbors and upload both the 1.5 and 1.4-compatible versions. I don't know the maven handwave for doing that, and I've never submitted a pom/jar to the repo before; anybody else know how to do it and feel like volunteering? Licensing: boy, am I NOT qualified to speak on that topic. Dion? Henri?
        Hide
        Henri Yandell added a comment -

        In general I think the LGPL question is still very much up for debate when it comes down to appearing in a Maven POM.

        In this example, it's just for running the unit tests [so make sure it's marked as test scope in both pom and project.xml] and I think that makes it much less of an issue. When people depend on commons-email, they won't be getting wiser thrust upon them unknowingly.

        For uploading, follow these instructions:

        http://maven.apache.org/guides/mini/guide-ibiblio-upload.html

        Just do the 1.4 version (as that's what commons email will do). Uploading other people's jars is something that I think one should only do as much as one needs to - otherwise you screw something up and they'll be complaining at you for all eternity.

        We can also deploy the wiser jar to the ASF snapshot repository (where the current dumbster jar is) in the meantime. That reminds me - before a release we need to make sure that the project.properties does not point to the asf snapshot repo.

        Show
        Henri Yandell added a comment - In general I think the LGPL question is still very much up for debate when it comes down to appearing in a Maven POM. In this example, it's just for running the unit tests [so make sure it's marked as test scope in both pom and project.xml] and I think that makes it much less of an issue. When people depend on commons-email, they won't be getting wiser thrust upon them unknowingly. For uploading, follow these instructions: http://maven.apache.org/guides/mini/guide-ibiblio-upload.html Just do the 1.4 version (as that's what commons email will do). Uploading other people's jars is something that I think one should only do as much as one needs to - otherwise you screw something up and they'll be complaining at you for all eternity. We can also deploy the wiser jar to the ASF snapshot repository (where the current dumbster jar is) in the meantime. That reminds me - before a release we need to make sure that the project.properties does not point to the asf snapshot repo.
        Hide
        Jon Stevens added a comment -

        I just released a new version (1.2) of SubEthaSMTP/Wiser that is ASFL 2.0 now. No more licensing issues now.

        cheers,

        jon

        Show
        Jon Stevens added a comment - I just released a new version (1.2) of SubEthaSMTP/Wiser that is ASFL 2.0 now. No more licensing issues now. cheers, jon
        Hide
        Ben Speakmon added a comment -

        I've corrected and updated Bindul's test case patches and applied them. The maven poms also call for the ASL-licensed wiser dependencies.

        Show
        Ben Speakmon added a comment - I've corrected and updated Bindul's test case patches and applied them. The maven poms also call for the ASL-licensed wiser dependencies.

          People

          • Assignee:
            Unassigned
            Reporter:
            Ben Speakmon
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development