[VOTE] [NEW RELEASE]: SonarQube Sonargraph 8 Integration Plugin 1.1.2

363 views
Skip to first unread message

Ingmar Kellner

unread,
Jul 14, 2016, 10:53:20 AM7/14/16
to SonarQube
Hi,

with the help of Fabrice, I finally managed to get the new SonarQube Sonargraph 8 Integration Plugin integrated with Nemo: https://sonarqube.com/overview?id=com.hello2morrow%3Asonar-sonargraph-integration
This plugin is the successor of the Sonar Sonargraph plugin (https://github.com/SonarQubeCommunity/sonar-sonargraph ) which does the same for Sonargraph 7.

It would be great if this new plugin can be integrated into the plugin library page and have it also in the update center.

Here is some more info:
Source Code on GitHub: https://github.com/sonargraph/sonar-sonargraph-integration
Current release: https://github.com/sonargraph/sonar-sonargraph-integration/releases/tag/Release-1.1.2
Documentation: On GitHub and http://eclipse.hello2morrow.com/doc/build/content/sonarqube_integration.html
Compatibility: https://github.com/sonargraph/sonar-sonargraph-integration/wiki/Sonargraph-8--Integration-with-SonarQube
Activation code (with reduced features set): 36E2-0F3E-643F-B4F2 (you can request a full-featured eval license once you registered at https://www.hello2morrow.com)
General info about Sonargraph 8+: http://www.hello2morrow.com/products/sonargraph/architect9

If I am not mistaken, voting is open for 72 hours.

Thanks a lot and let me know if I forgot to provide any mandatory info!


Ingmar Kellner



hello2morrow GmbH, Unsöldstraße 2, 80538 München, Germany. Tel: +49-89- 25557-5708
Handelsregister-Nr. HRB 194643 beim Amtsgericht München, Ust.-IdNr. DE 814332144
Geschäftsführer: Alexander v. Zitzewitz
http://www.hello2morrow.com/



G. Ann Campbell

unread,
Jul 14, 2016, 3:07:37 PM7/14/16
to SonarQube, i.ke...@hello2morrow.com
Hi Ingmar,

Remind me, please. To test this I need to download your product, and to do that I have to sign up?


Thx,
Ann

Ingmar Kellner

unread,
Jul 15, 2016, 1:29:39 AM7/15/16
to G. Ann Campbell, SonarQube

Good morning Ann,

 

sorry, I should have explained this better.

 

We have two versions of Sonargraph, "Explorer" (reduced feature set, https://www.hello2morrow.com/products/sonargraph/explorer )

and "Architect" (full feature set, https://www.hello2morrow.com/products/sonargraph/architect9 ).

The download is the same, the activation code controls which features are available. This applies to the RCP as well as the headless SonargraphBuild.

 

The activation code that I provided in the last email, is for "Explorer".

Some analyzers won't run, for example you don't get "Architecture Violations" displayed in the SonarQube Sonargraph widgets with that license.

To see the full functionality, use this one: 4B80-991F-4712-B152

It's valid until the end of the month.

 

If you use Maven or Gradle, you don't have to download or install anything, our Maven/Gradle plugin downloads the latest version of SonargraphBuild automatically.

This is described in more detail here: http://eclipse.hello2morrow.com/doc/build/content/integrating_with_maven.html#example_pom

 

The Git repo contains a small example multi-module Maven project that should make the testing very easy: https://github.com/sonargraph/sonar-sonargraph-integration/tree/master/src/test/AlarmClockMain

 

Hope that helps!

 

Cheers,

 

Ingmar

G. Ann Campbell

unread,
Jul 15, 2016, 4:16:45 PM7/15/16
to Ingmar Kellner, SonarQube
Hi Ingmar,

I'm obviously missing something.

* I can't figure out where to put the activation code
* I downloaded and analyzed your sample project, but the Sonargraph widgets remained empty when I added them to a dashboard.

In your response, feel free to talk to me like I'm 8. 

:-D
Ann




---
G. Ann CAMPBELL | SonarSource
Product Owner

Ingmar Kellner

unread,
Jul 18, 2016, 12:36:15 PM7/18/16
to G. Ann Campbell, SonarQube

Hi Ann,

 

I will do my best. :-)

 

I have added a short "Getting Started" section to the Readme.md on GitHub, which is basically a condensed list of points also described in the online documentation.

https://github.com/sonargraph/sonar-sonargraph-integration

 

If you are using Maven, edit the pom.xml and add  the activation code there.

An example is given here: http://eclipse.hello2morrow.com/doc/build/content/integrating_with_maven.html#example_pom

The pom.xml of the example in the GitHub repo contained  an installation path that's most definitely invalid on your machine.

You can either pull the latest file from the repo or just remove that configuration parameter from the pom.

 

If you would rather configure the parameters as command-line arguments, use the following format:

mvn clean package sonargraph:create-report -Dsonargraph.activationCode=<your code> -Dsonargraph.prepareForSonarQube=true sonar:sonar

 

All available parameters listed here can be specified like this: http://eclipse.hello2morrow.com/doc/build/content/integrating_with_maven.html#d5e417

 

Frequent cause of errors:

·         The Sonargraph maven repository must be configured either in the project's pom.xml or the global Maven settings.xml.

·         The parameter prepareForSonarQube must be set to true for the integration with SonarQube.

·         The Sonargraph Integration plugin's rules must be activated in the project's quality profile in SonarQube.

 

If you still don't see metric values of Sonargraph in the plugin's widgets, please send me the console log of the analysis.

Either SonargraphBuild or the Sonargraph plugin should provide status info of any error that happened.

 

Thanks for your patience,

 

Ingmar

 

hello2morrow GmbH, Unsöldstraße 2, 80538 München, Germany. Tel: +49-89- 25557-5708
Handelsregister-Nr. HRB 194643 beim Amtsgericht München, Ust.-IdNr. DE 814332144
Geschäftsführer: Alexander v. Zitzewitz

http://www.hello2morrow.com/

emailLogo  

 twitter  linkedin  facebook

image009.jpg
image010.png
image011.png
image012.png

G. Ann Campbell

unread,
Jul 18, 2016, 3:54:20 PM7/18/16
to Ingmar Kellner, SonarQube
Hi Ingmar,

What's the exact Maven goal I should run?

I tried running this:
mvn -Dsonargraph.prepareForSonar=true -Dsonargraph.activationCode=4B80-991F-4712-B152 create-report

and got this:
[ERROR] Unknown lifecycle phase "create-report"...

On your sample project.


Thx,
Ann




---
G. Ann CAMPBELL | SonarSource
Product Owner

Ingmar Kellner

unread,
Jul 19, 2016, 4:18:35 AM7/19/16
to G. Ann Campbell, SonarQube

Hi Ann,

 

you need to call the Sonargraph Maven goal explicitly as I mentioned in the email:

mvn clean package sonargraph:create-report

The error message on the console provides the hint:

"[ERROR] Unknown lifecycle phase "create-report". You must specify a valid lifecycle phase or a goal in the format <plugin-prefix>:<goal> or <plugin-group-id>:<plugin-artifact-id>[:<plugin-version>]:<goal>."

 

Up to now, we did not see the need to tie the plugin's execution to a specific lifecycle phase.

 

Mit freundlichen Grüßen / Best regards,

 

Ingmar Kellner

 

 

hello2morrow GmbH, Unsöldstraße 2, 80538 München, Germany. Tel: +49-89- 25557-5708
Handelsregister-Nr. HRB 194643 beim Amtsgericht München, Ust.-IdNr. DE 814332144
Geschäftsführer: Alexander v. Zitzewitz

http://www.hello2morrow.com/

emailLogo  

image009.jpg
image010.png
image011.png
image012.png
image013.jpg
image014.png
image015.png
image016.png

G. Ann Campbell

unread,
Jul 19, 2016, 8:04:10 AM7/19/16
to Ingmar Kellner, SonarQube
Hi Ingmar,

I guess I got turned around among all the data. I was looking at the docs, which just give the goals as create-report and dynamic-report.

BTW, now on the sample project I get 

[ERROR] Failed to execute goal com.hello2morrow:sonargraph-maven-plugin:8.9.2:create-report (default-cli) on project sonar-sonargraph-integration: Failed to execute SonargraphBuild:
[ERROR] Parameter 'systemDirectory' is not a directory: /home/ganncamp/workspace/tmp/sonar-sonargraph-integration/crm-domain-example.sonargraph


Thx,
Ann



---
G. Ann CAMPBELL | SonarSource
Product Owner

Ingmar Kellner

unread,
Jul 19, 2016, 3:06:32 PM7/19/16
to G. Ann Campbell, SonarQube

Hello Ann,

 

did you by any chance just copy+paste the whole example Maven configuration from the online documentation?

A "crm-domain-example.sonargraph" directory does not exist in the sonar-sonargraph-integration project, so I am not surprised about the error message.

 

All you need to do is to take a look at the following pom.xml of the example project and move the activationCode element from the commented section to the non-commented section (and obviously set the correct value):

https://github.com/sonargraph/sonar-sonargraph-integration/blob/master/src/test/AlarmClockMain/pom.xml

 

Since this is the parent pom for that little example project, navigate in your shell into the folder src/test/AlarmClockMain execute the command-line there.

image009.jpg
image010.png
image011.png
image012.png
image013.jpg
image014.png
image015.png
image016.png

G. Ann Campbell

unread,
Jul 19, 2016, 3:38:04 PM7/19/16
to Ingmar Kellner, SonarQube
Hi,

On Tue, Jul 19, 2016 at 3:06 PM, Ingmar Kellner <i.ke...@hello2morrow.com> wrote:

Hello Ann,

 

did you by any chance just copy+paste the whole example Maven configuration from the online documentation?


No. Although a `git status` did show changes in the pom, so I checked it back out and tried again. Now I remember what I changed in the pom:

[ERROR] No plugin found for prefix 'sonargraph' in the current project and in the plugin groups [org.apache.maven.plugins, org.codehaus.mojo] available from the repositories [local (/home/ganncamp/.m2/repository), sonarsource (https://repox.sonarsource.com/sonarsource), hello2morrow.maven.repository (http://maven.hello2morrow.com/repository), central (https://repo.maven.apache.org/maven2)] -> [Help 1]

 

A "crm-domain-example.sonargraph" directory does not exist in the sonar-sonargraph-integration project, so I am not surprised about the error message.

 

All you need to do is to take a look at the following pom.xml of the example project and move the activationCode element from the commented section to the non-commented section (and obviously set the correct value):

https://github.com/sonargraph/sonar-sonargraph-integration/blob/master/src/test/AlarmClockMain/pom.xml

 

Since this is the parent pom for that little example project, navigate in your shell into the folder src/test/AlarmClockMain execute the command-line there.


cd'd to this directory and ran 

mvn clean package sonargraph:create-report -Dsonargraph.activationCode=36E2-0F3E-643F-B4F2 

Still got an error:

[ERROR] Failed to execute goal com.hello2morrow:sonargraph-maven-plugin:8.9.1:create-report (default-cli) on project AlarmClockMain: Invalid 'installationDirectory': /home/ganncamp/workspace/tmp/sonar-sonargraph-integration/src/test/AlarmClockMain/D:/02_programs/SG8/release/SonargraphBuild-8.9.1.379_2016-06-03/plugins does not exist -> [Help 1]

Just to be sure, I then edited the AlarmClockMain pom.xml as you suggested, removed the activation code from the commandline and tried again. Same error. The presence of "D:" in the error path is interesting...

Ingmar Kellner

unread,
Jul 20, 2016, 2:09:19 AM7/20/16
to G. Ann Campbell, SonarQube

Good morning Ann,

 

believe it or not, we are getting closer... :-)

 

As I wrote on Monday:

" The pom.xml of the example in the GitHub repo contained  an installation path that's most definitely invalid on your machine.
You can either pull the latest file from the repo or just remove that configuration parameter from the pom."

Btw, information about all parameters is available on our searchable online user manual (http://eclipse.hello2morrow.com/doc/build/content/ ) .

Because you requested me to be very explicit ("talk to me like I am 8"), below is a screenshot of what it looks like if you click on the first search result for "installationDirectory maven".

Once you fixed that, it should run through. If not, I can offer to organize a short screensharing session, which might be less frustrating and a lot quicker.

If you don't mind, I would like to follow up on those two issues:
1. You say, you remembered what you changed in the pom, but only show an error message. What DID you need to change?
2. "crm-domain-example.sonargraph" was not part of the example pom and I am still wondering, what the root cause of this error message was...

Best regards,

 

Ingmar

 

 

SonargraphBuild searchable online documentation:

 

 

Mit freundlichen Grüßen / Best regards,

 

Ingmar Kellner

 

 

hello2morrow GmbH, Unsöldstraße 2, 80538 München, Germany. Tel: +49-89- 25557-5708
Handelsregister-Nr. HRB 194643 beim Amtsgericht München, Ust.-IdNr. DE 814332144
Geschäftsführer: Alexander v. Zitzewitz

http://www.hello2morrow.com/

emailLogo  

 twitter  linkedin  facebook

 

 

Mit freundlichen Grüßen / Best regards,

 

Ingmar Kellner

 

 

hello2morrow GmbH, Unsöldstraße 2, 80538 München, Germany. Tel: +49-89- 25557-5708
Handelsregister-Nr. HRB 194643 beim Amtsgericht München, Ust.-IdNr. DE 814332144
Geschäftsführer: Alexander v. Zitzewitz

http://www.hello2morrow.com/

emailLogo  

 twitter  linkedin  facebook

 

Von: G. Ann Campbell [mailto:ann.ca...@sonarsource.com]
Gesendet: Dienstag, 19. Juli 2016 21:38
An: Ingmar Kellner <i.ke...@hello2morrow.com>
Cc: SonarQube <sona...@googlegroups.com>
Betreff: Re: [VOTE] [NEW RELEASE]: SonarQube Sonargraph 8 Integration Plugin 1.1.2

 

Hi,

image010.png
image001.jpg
image003.png
image005.png
image007.png

G. Ann Campbell

unread,
Jul 20, 2016, 11:16:51 AM7/20/16
to Ingmar Kellner, SonarQube
Hi Ingmar,

It worked!!!

I have a vague memory that this thread started with "please add my plugin to the update center". So now I can proceed with that. However, I'm wondering if this should be a separate UC entry or a disjoint continuation of the first one. Do they overlap in SQ compatibility? Would a user want both at once? Are they entirely different products? I get the sense that this new one represents an upgrade...?


Ann

P.S. more below



---
G. Ann CAMPBELL | SonarSource
Product Owner

On Wed, Jul 20, 2016 at 2:08 AM, Ingmar Kellner <i.ke...@hello2morrow.com> wrote:

Good morning Ann,

 

believe it or not, we are getting closer... :-)

 

As I wrote on Monday:

" The pom.xml of the example in the GitHub repo contained  an installation path that's most definitely invalid on your machine.
You can either pull the latest file from the repo or just remove that configuration parameter from the pom."

Btw, information about all parameters is available on our searchable online user manual (http://eclipse.hello2morrow.com/doc/build/content/ ) .

Because you requested me to be very explicit ("talk to me like I am 8"), below is a screenshot of what it looks like if you click on the first search result for "installationDirectory maven".


I did come across these docs. Note that they list the Maven target as just "create-report"
 

Once you fixed that, it should run through. If not, I can offer to organize a short screensharing session, which might be less frustrating and a lot quicker.

If you don't mind, I would like to follow up on those two issues:
1. You say, you remembered what you changed in the pom, but only show an error message. What DID you need to change?


As the result of an error along the linse of "I don't know what this goal is" added the repository, which is recommended somewhere in your docs. But then I kept getting the bad goal error, which is why I started trying to find what the fully-qualified goal name.
 

Ingmar Kellner

unread,
Jul 20, 2016, 11:52:09 AM7/20/16
to G. Ann Campbell, SonarQube

Hi Ann,

 

great!!!

 

You remember correctly. It would be great to have it as a separate Update Center entry and treat this as a new plugin.

 

Reason is, that some of our customers are going to migrate over time from Sonargraph 7 -> Sonargraph 8.

They are entirely different products that's why I also took the chance to do a complete rewrite of the plugin.

Rule keys, etc. are also different, and I tested that both plugins can be used in parallel in the same SonarQube instance.

I don't envision a lot of updates to the Sonargraph 7 plugin in the future, but a bug fix here and there (or refactorings due to a changed SQ API) might be needed.

 

I don't want to split hairs, but we use the term "goal" in our docs, not "target". What you are referring to is "prefix:goal" combination, like "sonar:sonar" or "sonargraph:create-report".

http://stackoverflow.com/questions/2736373/how-to-rename-goals-in-maven gives some details.

Nevertheless, I accept that feedback and I will move the examples for command-line execution to a more prominent position in our docs.

 

Thanks again for your patience!

 

Best regards,

 

Ingmar

 

hello2morrow GmbH, Unsöldstraße 2, 80538 München, Germany. Tel: +49-89- 25557-5708
Handelsregister-Nr. HRB 194643 beim Amtsgericht München, Ust.-IdNr. DE 814332144
Geschäftsführer: Alexander v. Zitzewitz

http://www.hello2morrow.com/

emailLogo  

 twitter  linkedin  facebook

 

Von: G. Ann Campbell [mailto:ann.ca...@sonarsource.com]
Gesendet: Mittwoch, 20. Juli 2016 17:17
An: Ingmar Kellner <i.ke...@hello2morrow.com>
Cc: SonarQube <sona...@googlegroups.com>
Betreff: Re: [VOTE] [NEW RELEASE]: SonarQube Sonargraph 8 Integration Plugin 1.1.2

 

Hi Ingmar,

image002.jpg
image004.png
image006.png
image008.png

G. Ann Campbell

unread,
Jul 20, 2016, 12:50:04 PM7/20/16
to Ingmar Kellner, SonarQube
Hi Ingmar,

I'm reluctant to have two UC entries for what seems to me (perhaps unfairly) like essentially the same thing, so I'm going to pursue this a little further:

You mention keeping up with API changes. Does that mean you'll continue upgrading the Sonargraph 7 plugin for new versions of SonarQube? Because from an update center perspective, the main limitation is that only one version of a plugin can be listed as compatible with a given version of SonarQube. So if we make the Sonargraph 8 plugin a continuation of the Sonargraph 7 plugin, then that would mean that Sonargraph 7 would end with 5.6 (to pick an arbitrary end point) and Sonargraph 8 would start with 6.0 and go from there.


Thx,
Ann




---
G. Ann CAMPBELL | SonarSource
Product Owner

Ingmar Kellner

unread,
Jul 20, 2016, 1:17:00 PM7/20/16
to G. Ann Campbell, SonarQube

Hi Ann,

 

yes, exactly because of the limitations you mention and because it is not a continuation of the Sonargraph 7 plugin, I prefer to have a separate UC entry and treat this as a separate independent plugin.

Some of our customers might want to stay with Sonargraph 7 for longer and still be able to use the latest SonarQube.

 

It would only be for a limited time. I hope that we convinced everybody within a year to move to Sonargraph 8.

If you insist to have only a single "Sonargraph" entry in the UC, well, then I would say that the Sonargraph 7 plugin should be removed and the Sonargraph 8 plugin added.

We will then host the Sonargraph 7 plugin on our own web site.

 

Mit freundlichen Grüßen / Best regards,

 

Ingmar Kellner

 

 

hello2morrow GmbH, Unsöldstraße 2, 80538 München, Germany. Tel: +49-89- 25557-5708

image013.jpg
image014.png
image015.png
image016.png
image002.jpg
image004.png
image006.png
image008.png

G. Ann Campbell

unread,
Jul 20, 2016, 2:07:56 PM7/20/16
to Ingmar Kellner, SonarQube
Hi Ingmar,

I started to set this up (as a separate plugin) in the UC, but there's a tiny problem with that. Both plugins apparently have the same plugin key...? You can fix this by making the key for the new one all lower case (that's actually a requirement) but it's not ideal to have two plugins whose keys vary only by the case of one letter.


Ann



---
G. Ann CAMPBELL | SonarSource
Product Owner

G. Ann Campbell

unread,
Jul 20, 2016, 2:54:42 PM7/20/16
to Ingmar Kellner, SonarQube
Gah! Didn't hit 'Reply All'!



---
G. Ann CAMPBELL | SonarSource
Product Owner

On Wed, Jul 20, 2016 at 2:54 PM, G. Ann Campbell <ann.ca...@sonarsource.com> wrote:
Sorry about that. Somehow I ended up in the wrong repository.

I'm sorry also that this has been so painful.

This looks good to me. Let me know when the feedback period is over & this is released.



---
G. Ann CAMPBELL | SonarSource
Product Owner

On Wed, Jul 20, 2016 at 2:25 PM, Ingmar Kellner <i.ke...@hello2morrow.com> wrote:

Hi Ann,

 

I had a look at both plugins' pom.xml.

The plugin key is definitely different and the new one follows the guidelines. I am open for suggestions for a better plugin name.

 

Sonargraph 7:

<plugin>

        <groupId>org.sonarsource.sonar-packaging-maven-plugin</groupId>

        <artifactId>sonar-packaging-maven-plugin</artifactId>

        <version>1.15</version>

        <extensions>true</extensions>

        <configuration>

          <pluginKey>Sonargraph</pluginKey>

          <pluginName>Sonargraph</pluginName>

          <pluginClass>${sonar.plugin.class}</pluginClass>

        </configuration>

      </plugin>

      <plugin>

 

Sonargraph 8:

<plugin>

        <groupId>org.sonarsource.sonar-packaging-maven-plugin</groupId>

        <artifactId>sonar-packaging-maven-plugin</artifactId>

        <version>1.15</version>

        <extensions>true</extensions>

        <configuration>

          <pluginName>Sonargraph Integration</pluginName>

          <pluginKey>sonargraphintegration</pluginKey>

          <pluginClass>${sonar.plugin.class}</pluginClass>

        </configuration>

      </plugin>

Ingmar Kellner

unread,
Jul 26, 2016, 3:46:29 AM7/26/16
to SonarQube
Good morning,

after some email exchange, Ann successfully tested this plugin last week.
I assume that I can take that as a +1 vote from her side.
As I did not hear from anybody else, I close the voting period now.

I therefore declare this version as officially released.
Would be great if the plugin will be available via the update center.

Let me know if there is anything else required from my side.
Thanks a lot!

Best regards,

Ingmar Kellner


hello2morrow GmbH, Unsöldstraße 2, 80538 München, Germany. Tel: +49-89- 25557-5708
Handelsregister-Nr. HRB 194643 beim Amtsgericht München, Ust.-IdNr. DE 814332144
Geschäftsführer: Alexander v. Zitzewitz
http://www.hello2morrow.com/



-----Ursprüngliche Nachricht-----
Von: Ingmar Kellner [mailto:i.ke...@hello2morrow.com]
Gesendet: Donnerstag, 14. Juli 2016 16:53
An: 'SonarQube' <sona...@googlegroups.com>
Betreff: [VOTE] [NEW RELEASE]: SonarQube Sonargraph 8 Integration Plugin 1.1.2

Hi,

with the help of Fabrice, I finally managed to get the new SonarQube Sonargraph 8 Integration Plugin integrated with Nemo: https://sonarqube.com/overview?id=com.hello2morrow%3Asonar-sonargraph-integration
This plugin is the successor of the Sonar Sonargraph plugin (https://github.com/SonarQubeCommunity/sonar-sonargraph ) which does the same for Sonargraph 7.

It would be great if this new plugin can be integrated into the plugin library page and have it also in the update center.

Here is some more info:
Source Code on GitHub: https://github.com/sonargraph/sonar-sonargraph-integration
Current release: https://github.com/sonargraph/sonar-sonargraph-integration/releases/tag/Release-1.1.2
Documentation: On GitHub and http://eclipse.hello2morrow.com/doc/build/content/sonarqube_integration.html
Compatibility: https://github.com/sonargraph/sonar-sonargraph-integration/wiki/Sonargraph-8--Integration-with-SonarQube
Activation code (with reduced features set): 36E2-0F3E-643F-B4F2 (you can request a full-featured eval license once you registered at https://www.hello2morrow.com) General info about Sonargraph 8+: http://www.hello2morrow.com/products/sonargraph/architect9

If I am not mistaken, voting is open for 72 hours.

Thanks a lot and let me know if I forgot to provide any mandatory info!


G. Ann Campbell

unread,
Jul 26, 2016, 9:50:46 AM7/26/16
to Ingmar Kellner, SonarQube
Done.

:-)



---
G. Ann CAMPBELL | SonarSource
Product Owner

--
You received this message because you are subscribed to a topic in the Google Groups "SonarQube" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/sonarqube/m3O6BW0Izvg/unsubscribe.
To unsubscribe from this group and all its topics, send an email to sonarqube+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/sonarqube/036001d1e711%24c50f2760%244f2d7620%24%40hello2morrow.com.
For more options, visit https://groups.google.com/d/optout.

Reply all
Reply to author
Forward
0 new messages