christmo / macwidgets

Automatically exported from code.google.com/p/macwidgets
0 stars 0 forks source link

deploy macwidgets to public Maven repository #138

Closed GoogleCodeExporter closed 9 years ago

GoogleCodeExporter commented 9 years ago
Current Behavior:
Download and "install" jar and manually.

Desired Behavior:
Add Maven dependency to pom.xml and begin using these awesome widgets. 
This will make this library (and any of its updates) trivially accessible
which will very likely increase its use.

Complexity / Amount of Change Required:
Some complexity, but minimal code (pom.xml).  The more willingness to adopt
the "Maven way", the easier this is.

Google recommends that Google Code projects use the following repository: 
 https://maven2-repository.dev.java.net/

I would be happy to provide a patch if there were good chances some form of
it would be accepted.

Original issue reported on code.google.com by lne...@gmail.com on 16 Nov 2009 at 2:09

GoogleCodeExporter commented 9 years ago
Would you be interested in taking on this issue? I'd be happy to have the help!

Original comment by kenneth....@gmail.com on 16 Nov 2009 at 7:14

GoogleCodeExporter commented 9 years ago
Sure.  I created a pom.xml which works with the directory structure your project
currently has.  Highlights include:
- downloads JGoodies Forms dependency
- packages up all artifacts of the release including the demo files and .png 
files
- configured various "reports" accessible via 'mvn site' including javadoc with 
code
cross-references (jxr plugin), PMD, and findbugs
I made several assumptions so you might want to review the file; it is a fairly
readable XML file.

To build, run 'mvn install' (note: this will trigger a bunch of downloads the 
first
time).  The created 'artifacts' (build output) will be in the 'target' 
directory (as
well as your 'local personal repository' (~/.m2/repository).

I'll work more on how to publish these artifacts to a public repository.  Google
(weakly) suggests https://maven2-repository.dev.java.net/ which includes 
directions.

If you want to learn more, here's a free, good book on Maven:
http://www.sonatype.com/products/maven/documentation/book-defguide

Original comment by lne...@gmail.com on 17 Nov 2009 at 5:36

Attachments:

GoogleCodeExporter commented 9 years ago
Thanks for taking care of this Inezda! Let me know when it's published to 
java.net and I can write a quick blog 
article pointing people there. Also, what's your full name so that I can give 
you credit?

Original comment by kenneth....@gmail.com on 17 Nov 2009 at 1:51

GoogleCodeExporter commented 9 years ago
No problem.  My name is Luke Nezda.  Are you interested in replacing your build
infrastructure with  Maven + pom.xml ?  (obviously, you're building with 
Intellij
project file(s) now.)  I bet IntelliJ builds will work just as well through 
Maven
(NetBeans does which is my current preference), and it will make the build more
portable (e.g., commandline, NetBeans, Eclipse).  Using Maven should also make
publishing high quality, repeatable releases easier.  You shouldn't technically 
need
to make any changes, except to check in and use the pom.xml and update the 
<version>
going forward.

Original comment by lne...@gmail.com on 18 Nov 2009 at 2:07

GoogleCodeExporter commented 9 years ago
Hi Luke,

I'm not sure about replacing my build infrastructure -- if it doesn't impede my 
workflow at all though, then I'm 
all for it.

Original comment by kenneth....@gmail.com on 18 Nov 2009 at 12:59

GoogleCodeExporter commented 9 years ago
http://explodingpixels.wordpress.com/2009/11/18/mac-widgets-for-java-maven-suppo
rt/

Original comment by kenneth....@gmail.com on 18 Nov 2009 at 12:59

GoogleCodeExporter commented 9 years ago

Original comment by kenneth....@gmail.com on 18 Nov 2009 at 12:59

GoogleCodeExporter commented 9 years ago
I don't think it will impede your workflow, and hopefully a more portable build 
will
get more work flowing out of more contributors and into your project.  I 
downloaded
IntelliJ IDEA Community Edition (9.0 Beta) and opened the project by just 
selecting
its pom.xml and it appears to work.  If its not too much trouble, make a copy 
of the
project, put the pom.xml at the root and open it with your IntelliJ to see if it
seems "normal".  

Man, you're quick with the slick art; love the high-res Apache feather with 
shadow
and everything on your blog post :)

Original comment by lne...@gmail.com on 18 Nov 2009 at 1:43

GoogleCodeExporter commented 9 years ago
I get plenty of practice dealing with artwork, so I've gotten pretty quick with 
it!

Original comment by kenneth....@gmail.com on 18 Nov 2009 at 2:41

GoogleCodeExporter commented 9 years ago
Ok, I manually deployed mac_widgets-0.9.5 to http://download.java.net/maven/2/

Your users should only need to add the following dependency to their projects' 
pom.xml:
    <dependency>
      <groupId>com.explodingpixels</groupId>
      <artifactId>mac_widgets</artifactId>
      <version>0.9.5</version>
    </dependency>

If this repository is not available by default, users can specify the following
additional repository:

  <repositories>
    <repository>
      <id>maven2-repository.dev.java.net</id>
      <name>Java.net Repository for Maven</name>
      <url>http://download.java.net/maven/2/</url>
    </repository>
    ...
  </repositories>

Original comment by lne...@gmail.com on 25 Nov 2009 at 2:17

GoogleCodeExporter commented 9 years ago
Mr. Orr -

Did you try using Maven and the attached pom for your personal build?  I am 
happy to
help if you run into issues.  Maven is great for creating high quality, 
repeatable
builds (among other things I've alluded to in previous comments).  At a 
minimum, I'd
request that you add the pom.xml to the root of the project in svn so changes 
to the
file (e.g., versions, dependencies, etc.) can be tracked.

Kind regards,
- Luke

Original comment by lne...@gmail.com on 25 Nov 2009 at 2:22

GoogleCodeExporter commented 9 years ago
Thanks Luke! I haven't had a chance to try it yet, but I will soon. So the pom 
is typically added at the project 
root? I can also remove the libraries I'm dependent on from source control, 
right?

Original comment by kenneth....@gmail.com on 26 Nov 2009 at 11:54

GoogleCodeExporter commented 9 years ago
No problem!  Yes, the pom goes in the root; the vast majority of Maven projects 
have
the same directory structure.  This is sometimes called "configuration by
convention"; it has a lot of benefits: many things can be automated (e.g., new
project creation, creating release artifacts, ...); new developers need less
guidance; ...  

Anyway, you should be able to nix your libraries/ dir (downloading dependencies 
is a
signature Maven feature) as well as the ide_support/ and scripts/ dir since 
IntelliJ
"knows" Maven and Maven has a highly configurable JavaDoc "report plugin".  

We can discuss how to "standardize" the project directories completely if you 
are
interested.

Original comment by lne...@gmail.com on 26 Nov 2009 at 1:00

GoogleCodeExporter commented 9 years ago
hello....

i also made some maven based build of mac_widgets some time ago...
So maybe you are interessted in merging some things.

http://maven.javastream.de/com/explodingpixels

if you wish, i could give you an account to the svn repository. I think i will 
change
my version to yours since, i am a strong believer in consistent maven artefact 
names.

Best Regards,
Philipp

Original comment by hausslei...@googlemail.com on 7 Dec 2009 at 4:29