[rfc][icedtea-web] Removing applications tab in jawas-about

Jiri Vanek jvanek at redhat.com
Tue Jul 2 06:33:00 PDT 2013


Hi!
nice progress! Especially headless one working and cut news/changelog are  nice improvements.

General  comments:
  - remove applications.html (but url to our set of manual reproducers with notes how  and why to add new one should be mentioned somewhere)
  - drop notes
    - dropping of jamIcon is up to you, I'm for usage of it in new authors;)
  - refactor about
    - I think you can reuse some text, but it it should be read from properties
    - also you can reuse some parts from notes and applications, but instead of individual application proper links to icedtea web pages should be provided
    - also it can be worthy to include some image in main about - eg shrinken logo of splash image? Or to draw the vector from which is hardcoded?
    - new text have to be added to "new" about - to describe IcedTea-web properly (also worthy to mention plugin, itw-settings, homepage(s!), purpose of new tabs and so on...
    - actually the new colourful main about have the same importance as the new nice generated  files you already provided
      - you can reuse already provided splash logo, or (probably better) use your own, derived one same palce as other resources.  Just keep in mind that those "new logo" and current splash should be very similar.
  - some indentation/mark-up both for headless/head"full" versions
  - centre the dialogue (tehre is utility method for such a stuff)
  - what about renaming of Copying into GPLv2 License ? (just $0.02)
  - btw about, Authors, Changelog, News... All the tabs should now be read from resources too.

Don't take me wrong, this is nice work and most of above are just small nits and some can be done as separated chnageset.

  - Big  nit - redesign the dialogue completely? So   it will be "nice" ?
    - I'm in favour hardcoded (localisable) main "about" screen and then some better swapping to (more customised to its purpose) three underlying tabs. However, unless you really wont this have low priority definitely should go as separate chnageset.
    - nitpickers note - see other apps about dialogues :) Itw is really few decades behind....

Code commetns inline

On 06/24/2013 04:17 PM, Andrew Azores wrote:
> Changelog:
>
> * Makefile.am: removed logic for extras.jar, added netx-html-gen stamp
> * netx/net/sourceforge/jnlp/about/AboutDialog.java (main, centerDialog, createAndShowGUI, display): added tabs for new generated HTML, removed unused methods, added static display method. Moved out of extras into netx and renamed from Main to AboutDialog.
> * netx/net/sourceforge/jnlp/about/HTMLPanel.java: changed imports to match refactor of AboutDialog
> * netx/net/sourceforge/jnlp/runtime/Boot.java (main, getAboutFile, getJNLPFile): changed way of opening About dialog to using new static display method rather than JNLP launch. Removed methods relating to old JNLP launch.
>
> * netx/net/sourceforge/jnlp/resources/Messages.properties: added info for javaws -about -headless
> * netx/net/sourceforge/jnlp/resources/about.html: moved out of extras
> * netx/net/sourceforge/jnlp/resources/applications.html: same
> * netx/net/sourceforge/jnlp/resources/jamIcon.jpg: same
> * netx/net/sourceforge/jnlp/resources/notes.html: same
> * netx/net/sourceforge/jnlp/resources/notes.html: same
>
> Creating the HTML docs from plaintext AUTHORS, COPYING, NEWS, ChangeLog is now done in the Makefile rather than at runtime. Boot.java also now properly launches the About Dialog.
>
> Thanks,
>
> Andrew A
>
>
> fix.patch
>
>
> diff --git a/extra/net/sourceforge/javaws/about/Main.java b/netx/net/sourceforge/jnlp/about/AboutDialog.java
> copy from extra/net/sourceforge/javaws/about/Main.java
> copy to netx/net/sourceforge/jnlp/about/AboutDialog.java
> --- a/extra/net/sourceforge/javaws/about/Main.java
> +++ b/netx/net/sourceforge/jnlp/about/AboutDialog.java
> @@ -35,83 +35,68 @@ obligated to do so.  If you do not wish
>   exception statement from your version.
>   */
>
> -package net.sourceforge.javaws.about;
> +package net.sourceforge.jnlp.about;
>
>   import java.awt.BorderLayout;
>   import java.awt.Dimension;
> -import java.awt.Toolkit;
>   import java.io.IOException;
> +import java.net.URL;
>
>   import javax.swing.JFrame;
>   import javax.swing.JPanel;
>   import javax.swing.JTabbedPane;
> -import javax.swing.UIManager;
>
> +public class AboutDialog extends JPanel {
>
> -public class Main extends JPanel  {
> +    JTabbedPane tabbedPane;
>
> -	private final String notes = "/net/sourceforge/javaws/about/resources/notes.html";
> -	private final String apps = "/net/sourceforge/javaws/about/resources/applications.html";
> -	private final String about = "/net/sourceforge/javaws/about/resources/about.html";
> -	JTabbedPane tabbedPane;
> +    private static final String notes_url = "/net/sourceforge/jnlp/resources/notes.html";
> +    private static final String apps_url = "/net/sourceforge/jnlp/resources/applications.html";
> +    private static final String about_url = "/net/sourceforge/jnlp/resources/about.html";
> +    private static final String authors_url = "/net/sourceforge/jnlp/resources/AUTHORS.html";
> +    private static final String changelog_url = "/net/sourceforge/jnlp/resources/ChangeLog.html";
> +    private static final String copying_url = "/net/sourceforge/jnlp/resources/COPYING.html";
> +    private static final String news_url = "/net/sourceforge/jnlp/resources/NEWS.html";
>
> -	public Main() throws IOException {
> -		super(new BorderLayout());
> -		
> -		HTMLPanel notesPanel = new HTMLPanel(getClass().getResource(notes));
> -		HTMLPanel appsPanel = new HTMLPanel(getClass().getResource(apps));
> -		HTMLPanel aboutPanel = new HTMLPanel(getClass().getResource(about));
> -		
> -	
> -		
> -		tabbedPane = new JTabbedPane();
> +    public AboutDialog() throws IOException {
> +        super(new BorderLayout());
>
> -		tabbedPane.add("About IcedTea-Web and NetX", aboutPanel);
> -		tabbedPane.add("Applications", appsPanel);
> -		tabbedPane.add("Notes", notesPanel);
> -		
> -		tabbedPane.setPreferredSize(new Dimension(550,410));
> -		add(tabbedPane, BorderLayout.CENTER);
> -	}
> +        URL res_notes = getClass().getResource(notes_url);
> +        URL res_about = getClass().getResource(about_url);
> +        URL res_apps = getClass().getResource(apps_url);
> +        URL res_authors = getClass().getResource(authors_url);
> +        URL res_changelog = getClass().getResource(changelog_url);
> +        URL res_copying = getClass().getResource(copying_url);
> +        URL res_news = getClass().getResource(news_url);
>
> -	private static void createAndShowGUI() {
> -		
> -		try {
> -			UIManager.setLookAndFeel(UIManager.getSystemLookAndFeelClassName());
> -		} catch (Exception e) {	
> -		}
> -		
> -		JFrame frame = new JFrame("About IcedTea-Web and NetX");
> -		frame.setDefaultCloseOperation(JFrame.DISPOSE_ON_CLOSE);
> -		Main demo = null;
> -		try {
> -			demo = new Main();
> -		} catch (Exception e) {
> -			e.printStackTrace();
> -			System.exit(1);
> -		}
> -		demo.setOpaque(true);
> -		frame.setContentPane(demo);
> -		frame.pack();
> -		centerDialog(frame);
> -		frame.setVisible(true);
> -	}
> -	
> -    private static void centerDialog(JFrame frame) {
> -        Dimension screen = Toolkit.getDefaultToolkit().getScreenSize();
> -        Dimension dialogSize = frame.getSize();
> +        HTMLPanel notesPanel = new HTMLPanel(res_notes);
> +        HTMLPanel aboutPanel = new HTMLPanel(res_about);
> +        HTMLPanel appsPanel = new HTMLPanel(res_apps);
> +        HTMLPanel authorsPanel = new HTMLPanel(res_authors);
> +        HTMLPanel changelogPanel = new HTMLPanel(res_changelog);
> +        HTMLPanel newsPanel = new HTMLPanel(res_news);
> +        HTMLPanel copyPanel = new HTMLPanel(res_copying);
>
> -        frame.setLocation((screen.width - dialogSize.width)/2,
> -            (screen.height - dialogSize.height)/2);
> +        tabbedPane = new JTabbedPane();
> +
> +        tabbedPane.add("About", aboutPanel);
> +        tabbedPane.add("Notes", notesPanel);
> +        tabbedPane.add("Applications", appsPanel);
> +        tabbedPane.add("Authors", authorsPanel);
> +        tabbedPane.add("Changelog", changelogPanel);
> +        tabbedPane.add("News", newsPanel);
> +        tabbedPane.add("Copying", copyPanel);

Here comes the localisation of all tabs

> +
> +        tabbedPane.setPreferredSize(new Dimension(640, 480));
> +        add(tabbedPane, BorderLayout.CENTER);
>       }
>
> -	public static void main(String[] args) {
> -		javax.swing.SwingUtilities.invokeLater(new Runnable() {
> -			public void run() {
> -				createAndShowGUI();
> -			}
> -		});
> -	}
> -
> +    public static void display() throws IOException {

around here will go the centring of dialogue

> +        JFrame frame = new JFrame();
> +        frame.add(new AboutDialog());
> +        frame.setSize(640, 480);
> +        frame.setVisible(true);
> +        frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
> +    }
>
>   }
> diff --git a/extra/net/sourceforge/javaws/about/HTMLPanel.java b/netx/net/sourceforge/jnlp/about/HTMLPanel.java
> copy from extra/net/sourceforge/javaws/about/HTMLPanel.java
> copy to netx/net/sourceforge/jnlp/about/HTMLPanel.java
> --- a/extra/net/sourceforge/javaws/about/HTMLPanel.java
> +++ b/netx/net/sourceforge/jnlp/about/HTMLPanel.java
> @@ -35,15 +35,15 @@ obligated to do so.  If you do not wish
>   exception statement from your version.
>   */
>
> -package net.sourceforge.javaws.about;
> +package net.sourceforge.jnlp.about;
>
>   import java.awt.BorderLayout;
>   import java.io.IOException;
>   import java.net.URL;
>
> +import javax.swing.JEditorPane;
>   import javax.swing.JPanel;
>   import javax.swing.JScrollPane;
> -import javax.swing.JEditorPane;
>
>   public class HTMLPanel extends JPanel {
>
> diff --git a/netx/net/sourceforge/jnlp/runtime/Boot.java b/netx/net/sourceforge/jnlp/runtime/Boot.java
> --- a/netx/net/sourceforge/jnlp/runtime/Boot.java
> +++ b/netx/net/sourceforge/jnlp/runtime/Boot.java
> @@ -19,6 +19,7 @@ package net.sourceforge.jnlp.runtime;
>   import static net.sourceforge.jnlp.runtime.Translator.R;
>
>   import java.io.File;
> +import java.io.IOException;
>   import java.net.URL;
>   import java.security.AccessController;
>   import java.security.PrivilegedAction;
> @@ -28,9 +29,12 @@ import java.util.HashMap;
>   import java.util.List;
>   import java.util.Map;
>
> +import javax.swing.JFrame;
> +
>   import net.sourceforge.jnlp.LaunchException;
>   import net.sourceforge.jnlp.Launcher;
>   import net.sourceforge.jnlp.ParserSettings;
> +import net.sourceforge.jnlp.about.AboutDialog;
>   import net.sourceforge.jnlp.cache.CacheUtil;
>   import net.sourceforge.jnlp.cache.UpdatePolicy;
>   import net.sourceforge.jnlp.security.viewer.CertificateViewer;
> @@ -62,6 +66,17 @@ public final class Boot implements Privi
>               + "\n"
>               + R("BLaunchAbout");
>
> +    private static final String itwInfoMessage = ""
> +            + name + " " + version
> +            + "\n"
> +            + R("BAboutITW")
> +            + "\n"
> +            + R("BFileInfoAuthors")
> +            + "\n"
> +            + R("BFileInfoNews")
> +            + "\n"
> +            + R("BFileInfoCopying");

here will come the indentation eg
icedtea-web 1.5pre+r87c9fc859a21+
=== icedtea-web wiki page: http://icedtea.classpath.org/wiki/IcedTea-Web ===
  IcedTea web is free implementation of jnlp client and java plugin
   * Names and email addresses of contributors to this project can be found in the file AUTHORS.
   * News about this project can be found in the file NEWS.
   * The license of this project can be found in the file COPYING.

maybe more full path to this files can be mentioned. Also the man page and -help swithc can be mentioned

just nits moreower. nice as it is!



> +
>       private static final String miniLicense = "\n"
>               + "   netx - an open-source JNLP client.\n"
>               + "   Copyright (C) 2001-2003 Jon A. Maxwell (JAM)\n"
> @@ -137,8 +152,21 @@ public final class Boot implements Privi
>               System.exit(0);
>           }
>
> -        if (null != getOption("-about"))
> -            System.out.println(aboutMessage);
> +        if (null != getOption("-about")) {
> +            if (null != getOption("-headless")) {
> +                System.out.println(itwInfoMessage);
> +                System.exit(0);
> +            } else {
> +                System.out.println(aboutMessage);
> +                try {
> +                    AboutDialog.display();
> +                    return;
> +                } catch (IOException e) {
> +                    System.out.println(R("BLaunchAboutFailure"));
> +                    e.printStackTrace();
> +                }
> +            }
> +        }

I would probably go by more sure way:

         if (null != getOption("-about")) {
             System.out.println(itwInfoMessage);
             if (null != getOption("-headless")) {
                 System.exit(0);
             } else {
//                System.out.println(aboutMessage); - this should now not be necessary when itwInfoMessage is showed for both?
                 try {
                     AboutDialog.display();
                     return;
                 } catch (Exception e) {
                     System.out.println(R("BLaunchAboutFailure"));
                     throw new RuntimeException(e); //let it die quicly
                 }
             }
         }


>
>           if (null != getOption("-verbose"))
>               JNLPRuntime.setDebug(true);
> @@ -222,33 +250,6 @@ public final class Boot implements Privi
>       }
>

ypiiyahee!

>       /**
> -     * Returns the location of the about.jnlp file or null if this file
> -     * does not exist.
> -     */
> -    private static String getAboutFile() {
> -        ClassLoader cl = Boot.class.getClassLoader();
> -        if (cl == null) {
> -            cl = ClassLoader.getSystemClassLoader();
> -        }
> -        try {
> -                    //extracts full path to about.jnlp
> -            String s = cl.getResource("net/sourceforge/jnlp/runtime/Boot.class").toString();
> -            s=s.substring(0,s.indexOf("!"));
> -            s=s.substring(s.indexOf(":")+1);
> -            s=s.substring(s.indexOf(":")+1);
> -            s="file://"+s.replace("netx.jar","about.jnlp");
> -            if (JNLPRuntime.isDebug()){
> -                System.out.println("Using " + s + " as about.jnlp URL");
> -            }
> -
> -            return s;
> -         } catch (Exception e) {
> -            e.printStackTrace();
> -            return null;
> -        }
> -    }
> -
> -    /**
>        * Returns the url of file to open; does not return if no file was
>        * specified, or if the file location was invalid.
>        */
> @@ -256,15 +257,6 @@ public final class Boot implements Privi
>
>           String location = getJNLPFile();
>
> -        // override -jnlp with aboutFile
> -        if (getOption("-about") != null) {
> -            location = getAboutFile();
> -            if (location == null)
> -                fatalError(R("RNoAboutJnlp"));
> -        } else {
> -            location = getJNLPFile();
> -        }
> -
>           if (location == null) {
>               System.out.println(helpMessage);
>               System.exit(1);
>
>
> Makefile.am.patch
>
>
> diff --git a/Makefile.am b/Makefile.am
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -5,9 +5,6 @@ export TOP_BUILD_DIR = $(abs_top_builddi
>   export NETX_DIR = $(abs_top_builddir)/netx.build
>   export NETX_SRCDIR = $(abs_top_srcdir)/netx
>   export NETX_RESOURCE_DIR=$(NETX_SRCDIR)/net/sourceforge/jnlp/resources
> -export NETX_EXTRA_DIR=$(abs_top_srcdir)/extra/net/sourceforge/javaws/about/resources
> -export NETX_EXTRA_DIST_DIR=$(abs_top_builddir)/extra-lib/net/sourceforge/javaws/about/resources
> -

Why this empty lien removal?

>   export REPORT_STYLES_DIRNAME=report-styles
>
>   export TESTS_SRCDIR=$(abs_top_srcdir)/tests
> @@ -132,6 +129,7 @@ export JDK_UPDATE_VERSION=50
>   export PLUGIN_TEST_SRCS = $(abs_top_srcdir)/plugin/tests/LiveConnect/*.java
>
>   export NETX_PKGS = javax.jnlp net.sourceforge.nanoxml net.sourceforge.jnlp \
> +	net.sourceforge.jnlp.about \
>   	net.sourceforge.jnlp.cache net.sourceforge.jnlp.config \
>   	net.sourceforge.jnlp.controlpanel net.sourceforge.jnlp.event \
>   	net.sourceforge.jnlp.runtime net.sourceforge.jnlp.security \
> @@ -184,9 +182,6 @@ endif
>
>   export PLUGIN_VERSION = IcedTea-Web $(FULL_VERSION)
>
> -export EXTRA_DIST = $(top_srcdir)/netx $(top_srcdir)/plugin javaws.png javaws.desktop.in extra launcher \
> - itweb-settings.desktop.in $(top_srcdir)/tests
> -
>   # reproducers `D`shortcuts
>   export DTEST_SERVER=-Dtest.server.dir=$(REPRODUCERS_TESTS_SERVER_DEPLOYDIR)
>   export DJAVAWS_BUILD=-Djavaws.build.bin=$(DESTDIR)$(bindir)/$(javaws)
> @@ -216,12 +211,12 @@ edit_launcher_script = sed \
>   # Top-Level Targets
>   # =================
>
> -all-local: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp launcher.build/$(javaws) \
> +all-local: stamps/netx-dist.stamp stamps/plugin.stamp launcher.build/$(javaws) \
>    javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop
>
>   check-local: $(RHINO_TESTS) $(JUNIT_TESTS)
>
> -clean-local: clean-netx clean-plugin clean-liveconnect clean-extra  \
> +clean-local: clean-netx clean-plugin clean-liveconnect \
>    clean-native-ecj clean-launchers clean-desktop-files clean-docs clean-tests clean-bootstrap-directory
>   	if [ -e stamps ] ; then \
>   	  rmdir stamps ; \
> @@ -241,13 +236,11 @@ endif
>   	${INSTALL_DATA} $(NETX_DIR)/lib/classes.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar
>   	${INSTALL_DATA} $(NETX_SRCDIR)/javaws_splash.png $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/javaws_splash.png
>   	${INSTALL_PROGRAM} launcher.build/$(javaws) $(DESTDIR)$(bindir)
> -	${INSTALL_DATA} extra-lib/about.jar $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/about.jar
>   	${INSTALL_PROGRAM} launcher.build/$(itweb_settings) $(DESTDIR)$(bindir)
>
>   install-data-local:
> -	${mkinstalldirs} -d $(DESTDIR)$(mandir)/man1
> +	${mkinstalldirs} -d $(DESTDIR)$(mandir)/man1	

There slipped empty chars to the end of the line. This is not allowed.

>   	${INSTALL_DATA} $(NETX_SRCDIR)/javaws.1 $(DESTDIR)$(mandir)/man1
> -	${INSTALL_DATA} $(NETX_RESOURCE_DIR)/about.jnlp $(DESTDIR)$(datarootdir)/$(PACKAGE_NAME)
>   if ENABLE_DOCS
>   	${mkinstalldirs} $(DESTDIR)$(htmldir)
>   	(cd ${abs_top_builddir}/docs/netx; \
> @@ -269,7 +262,6 @@ uninstall-local:
>   	rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/plugin.jar
>   	rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/netx.jar
>   	rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/about.jnlp
> -	rm -f $(DESTDIR)$(datadir)/$(PACKAGE_NAME)/about.jar
>   	rm -f $(DESTDIR)$(mandir)/man1/javaws.1
>   	rm -f $(DESTDIR)$(bindir)/$(javaws)
>   	rm -f $(DESTDIR)$(bindir)/$(itweb_settings)
> @@ -453,7 +445,53 @@ if !HAVE_JAVA7
>   	sed -i '/VariableX509TrustManagerJDK7/ d' $@
>   endif
>
> -stamps/netx.stamp: netx-source-files.txt stamps/bootstrap-directory.stamp
> +stamps/netx-html-gen.stamp:
> +	(cd $$NETX_SRCDIR/..; \
> +	mkdir -p html-gen; \
> +	cp AUTHORS NEWS COPYING ChangeLog html-gen/; \
> +	cd html-gen/; \
> +	for FILE in NEWS AUTHORS COPYING ChangeLog; \
> +	do \
> +		sed -e "s/\t//g" -e "s/\&/\&amp;/g" -e "s/   /\&ensp;\&ensp;/g" -e "s/</\&lt;/g" -e "s/>/\&gt;/g" -e "s/$$/<br>/g" "./$$FILE">  "./$$FILE.html"; \
> +	done; \
> +	sed -i '4i<center>' AUTHORS.html; \
> +	echo "</center>">>  AUTHORS.html; \
> +	for FILE in NEWS.html ChangeLog.html; \
> +	do \
> +		mv $$FILE "$$FILE.old"; \
> +		COUNTER=0; \
> +		while read LINE; \
> +		do \
> +			if [[ $$FILE == "NEWS.html" ]]; \
> +			then \
> +				if [[ $$LINE =~ New\ in\ release* ]]; \
> +				then \
> +					COUNTER=$$(( $$COUNTER + 1 )); \
> +				fi; \
> +				if [[ $$COUNTER -gt 2 ]]; \
> +				then \
> +					break; \
> +				fi; \
> +			else \
> +				if [[ $$LINE =~ [[:digit:]]{4}-[[:digit:]]{2}-[[:digit:]]{2}* ]]; \
> +				then \
> +					COUNTER=$$(( $$COUNTER + 1 )); \
> +				fi; \
> +				if [[ $$COUNTER -gt 10 ]]; \
> +				then \
> +					break; \
> +				fi; \
> +			fi; \
> +			echo "$$LINE">>  $$FILE; \
> +		done<  "$$FILE.old"; \
> +		rm $$FILE.old; \
> +	done)
> +	${INSTALL_DATA} $(NETX_SRCDIR)/../html-gen/*.html $(NETX_RESOURCE_DIR)
> +	rm -r $(NETX_SRCDIR)/../html-gen/
> +	mkdir -p stamps
> +	touch $@
> +


well well well.. this is THE CODE :) My deepes credits that this works :)
If you will smuggle some markup into this, then it would be nice, and it will be alowed to go in.
There is strong disadvantage that you can not use internalisation. Also the miantainability of this code is quite pure.


Anyway this cango in with markup, assuming it works.


The idea how it can be done by different way - just note - fdifferent - not better.

You can have soem small class in  net.sourceforge.jnlp.about, which will have main class. This method will be already compiled with rest of netx in time of generation, so you will be able to run this class. This class can serve as small program - transformer from txt fiels into html file.
You will have much more fredom in generation, and it will be much more readable, and localisation would be possible to be used (maybe [me do not insists]). But will be maybe rocket luncher instead of cross bow...
Also I'm not sure how it willbe transparrent for others...

Actually jsut crossed across my mind that all this "localisation" leads back to you "runtime" generation which I really do not wont to allow. So please do not follow blindly mi nits  in this review.

> +stamps/netx.stamp: netx-source-files.txt stamps/bootstrap-directory.stamp stamps/netx-html-gen.stamp
>   	mkdir -p $(NETX_DIR)
>   	$(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) \
>   	    -d $(NETX_DIR) \
> @@ -489,37 +527,13 @@ clean-netx:
>   	rm -f stamps/netx-dist.stamp
>   	rm -f netx-source-files.txt
>   	rm -f stamps/netx.stamp
> +	rm -f stamps/netx-html-gen.stamp
> +	rm -f $(NETX_RESOURCE_DIR)/{NEWS,AUTHORS,COPYING,ChangeLog}.html
>
>   clean-desktop-files:
>   	rm -f javaws.desktop
>   	rm -f itweb-settings.desktop
>
> -# extras -- used to create about.jar for javaws.
> -extra-source-files.txt:
> -	find $(abs_top_srcdir)/extra -name '*.java' | sort>  $@
> -
> -stamps/extra-class-files.stamp: extra-source-files.txt stamps/netx.stamp
> -	mkdir -p extra-lib
> -	$(BOOT_DIR)/bin/javac $(IT_JAVACFLAGS) -d extra-lib \
> -          -sourcepath $(abs_top_srcdir)/extra -cp netx.build \
> -          -bootclasspath $(RUNTIME) @extra-source-files.txt
> -	(cd $(NETX_EXTRA_DIR); \
> -	 for files in $$(find . -type f); \
> -	 do \
> -	   ${INSTALL_DATA} -D $${files} \
> -	   $(NETX_EXTRA_DIST_DIR)/$${files}; \
> -	 done)
> -	mkdir -p stamps
> -	touch $@
> -
> -clean-extra:
> -	rm -rf extra-lib
> -	rm -f stamps/extra-class-files.stamp
> -	rm -f extra-source-files.txt
> -
> -extra-lib/about.jar: stamps/extra-class-files.stamp
> -	$(BOOT_DIR)/bin/jar cf $@ -C extra-lib net ;
> -
>   launcher.build/$(javaws): launcher/launchers.in
>   	mkdir -p launcher.build
>   	MAIN_CLASS=net.sourceforge.jnlp.runtime.Boot ;\
> @@ -851,7 +865,7 @@ stamps/copy-reproducers-resources.stamp:
>   	$(MAKE) ; \
>   	mv $(SOFTKILLER) $(TESTS_DIR)/
>
> -stamps/run-netx-dist-tests.stamp: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp launcher.build/$(javaws) \
> +stamps/run-netx-dist-tests.stamp: stamps/netx-dist.stamp stamps/plugin.stamp launcher.build/$(javaws) \
>    javaws.desktop stamps/docs.stamp launcher.build/$(itweb_settings) itweb-settings.desktop \
>    stamps/netx.stamp stamps/junit-jnlp-dist-dirs stamps/netx-dist-tests-import-cert-to-public $(TESTS_DIR)/softkiller \
>    stamps/test-extensions-compile.stamp stamps/compile-reproducers-testcases.stamp $(JUNIT_RUNNER_JAR) stamps/copy-reproducers-resources.stamp\
> @@ -896,7 +910,7 @@ clean-custom-reproducers: junit-jnlp-dis
>   #although this targets will indeed create symbolic links to enable
>   #icedtea-web plugin inside browser it is intended for testing purposes
>   if ENABLE_PLUGIN
> -stamps/user-links.stamp: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp \
> +stamps/user-links.stamp: stamps/netx-dist.stamp stamps/plugin.stamp \
>    launcher.build/$(javaws) stamps/netx.stamp $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY)
>   	if [ $(MOZILLA_FAMILY_TEST) ]  ; then  \
>   	  if [ -e $(MOZILLA_LOCAL_PLUGINDIR)/$(PLUGIN_LINK_NAME) ] ; then \
> @@ -926,7 +940,7 @@ restore-user-links:
>   	  rm -f stamps/user-links.stamp ; \
>   	fi
>
> -stamps/global-links.stamp: stamps/netx-dist.stamp extra-lib/about.jar stamps/plugin.stamp launcher.build/$(javaws) \
> +stamps/global-links.stamp: stamps/netx-dist.stamp stamps/plugin.stamp launcher.build/$(javaws) \
>    stamps/netx.stamp $(DESTDIR)$(libdir)/$(BUILT_PLUGIN_LIBRARY)
>   	if [ $(MOZILLA_FAMILY_TEST) ]  ; then  \
>   	    dir="$(MOZILLA_GLOBAL32_PLUGINDIR)"  ; \
>
>
> resources.patch
>
>
> diff --git a/netx/net/sourceforge/jnlp/resources/Messages.properties b/netx/net/sourceforge/jnlp/resources/Messages.properties
> --- a/netx/net/sourceforge/jnlp/resources/Messages.properties
> +++ b/netx/net/sourceforge/jnlp/resources/Messages.properties
> @@ -138,6 +138,7 @@ PBadHeapSize=Invalid value for heap size
>
>   # Runtime
>   BLaunchAbout=Launching about window...
> +BLaunchAboutFailure=Was not able to launch About window
>   BNeedsFile=Must specify a .jnlp file
>   RNoAboutJnlp=Unable to find about.jnlp
>   BFileLoc=JNLP file location
> @@ -172,6 +173,10 @@ RProxyFirefoxOptionNotImplemented=Browse
>   RBrowserLocationPromptTitle=Browser Location
>   RBrowserLocationPromptMessage=Specify Browser Location
>   RBrowserLocationPromptMessageWithReason=Specify Browser Location (the browser command "{0}" is invalid).
> +BAboutITW=icedtea-web wiki page:http://icedtea.classpath.org/wiki/IcedTea-Web
> +BFileInfoAuthors=Names and email addresses of contributors to this project can be found in the file AUTHORS.
> +BFileInfoCopying=The license of this project can be found in the file COPYING.
> +BFileInfoNews=News about this project can be found in the file NEWS.
>
>   # Boot options, message should be shorter than this ---------------->
>   BOUsage=javaws [-run-options]<jnlp file>

Just remebering:
> diff --git a/extra/net/sourceforge/javaws/about/resources/about.html b/netx/net/sourceforge/jnlp/resources/about.html
> copy from extra/net/sourceforge/javaws/about/resources/about.html
will be reworked

> copy to netx/net/sourceforge/jnlp/resources/about.html
> diff --git a/extra/net/sourceforge/javaws/about/resources/applications.html b/netx/net/sourceforge/jnlp/resources/applications.html
> copy from extra/net/sourceforge/javaws/about/resources/applications.html

will be dropped

> copy to netx/net/sourceforge/jnlp/resources/applications.html
> diff --git a/extra/net/sourceforge/javaws/about/resources/jamIcon.jpg b/netx/net/sourceforge/jnlp/resources/jamIcon.jpg

will be usded in different tab
> copy from extra/net/sourceforge/javaws/about/resources/jamIcon.jpg
> copy to netx/net/sourceforge/jnlp/resources/jamIcon.jpg
> diff --git a/netx/net/sourceforge/jnlp/resources/notes.html b/netx/net/sourceforge/jnlp/resources/notes.html

will be dropped, and some lines from it reused in main about.
> new file mode 100644
> --- /dev/null
> +++ b/netx/net/sourceforge/jnlp/resources/notes.html

  dev/null?? I thought this is also copied.

Anyway worthy of being dropepd (authors are now on two palces!)

and some lines, (nearly whole bottom but NOT ALL) reused....
> @@ -0,0 +1,99 @@
> +<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
> +<html>
> +	<head>
> +		<title>Release Notes</title>
> +	</head>
> +	<body>
> +	<br>
> +	<table cellpadding="2" cellspacing="2" border="0" width="100%">
> +		<tbody>
> +		<tr>
> +			<td valign="Top" width="15"></td>
> +			<td valign="Top" width="100%">
> +				<table cellpadding="0" cellspacing="0" border="0" align="Center">
> +					<tbody>
> +						<tr>
> +							<td valign="Middle" align="Center" nowrap="true"><div align="Center">
> +								<img src="jamIcon.jpg" alt="Jam Icon" width="87" height="84" align="Center">
> +								</div>
> +							</td>
> +						</tr>
> +						<tr>
> +							<td valign="Middle" nowrap="true" align="Justify">
> +								<div align="Center">
> +								<b>Lillian Angel</b>  <br>
> +								<b>Deepak Bhole</b>  <br>
> +								<b>Danesh Dadachanji</b>  <br>
> +								<b>Adam Domurad</b>  <br>
> +								<b>Thomas Fitzsimmons</b>  <br>
> +								<b>Andrew John Hughes</b>  <br>
> +								<b>Matthias Klose</b>  <br>
> +								<b>Francis Kung</b>  <br>
> +								<b>Omair Majid</b>  <br>
> +								<b>Jon A. Maxwell</b>  <br>
> +								<b>Thomas Meyer</b>  <br>
> +								<b>Saad Mohammad</b>  <br>
> +								<b>Andrew Su</b>  <br>
> +								<b>Joshua Sumali</b>  <br>
> +								<b>Jiri Vanek</b>  <br>
> +								<b>Mark Wielaard</b>  <br>
> +								<b>Man Lung Wong</b>  <br>
> +								</div>
> +							</td>
> +						</tr>
> +					</tbody>
> +				</table>
> +			</td>
> +		</tr>
> +		</tbody>
> +	</table>
> +<br>
> +<big><b>Release Notes</b></big>
> +<br>
> +<table cellpadding="0" cellspacing="0" border="0">
> +	<tbody>
> +		<tr>
> +			<td valign="Top" width="15"><br></td>
> +			
> +
> +			<td valign="Top">
> +			NetX on IcedTea: Security Support
> +			<ul>
> +				<li>  Full signed application support</li>
> +				<li>  User trusted certificates support</li>
> +				<li>  Some JNLP API Services implemented</li>
> +				<li>  Improved unsigned application sandboxing with JNLP API</li>
> +			</ul>
> +			</td>
> +		</tr>
> +		<tr>
> +			<td valign="Top" width="15"><br></td>
> +			<td valign="Top">
> +			Version 0.5: Refines multi-app capabilities + native code support
> +			<ul>
> +				<li>  Released under LGPL.</li>
> +				<li>  Separate event queue, look and feel, etc for each application.</li>
> +				<li>  Native code support.</li>
> +				<li>  Supports headless mode.</li>
> +				<li>  Internationalized messages.</li>
> +				<li>  Uses NanoXML parser.</li>
> +				<li>  Minor changes listed on project web site...</li>
> +			</ul>
> +
> +			</td>
> +		</tr>
> +	</tbody>
> +</table>
> +<b>  Home page of IcedTea-Web:
> +<a href="http://icedtea.classpath.org/wiki/IcedTea-Web">
> +		http://icedtea.classpath.org/wiki/IcedTea-Web
> +	</a><br>
> +    Please visit also the SourceForge site
> +	<a href="http://jnlp.sourceforge.net/netx/index.html">
> +		http://jnlp.sourceforge.net/netx/index.html
> +	</a>
> +	and the IcedTea site
> +	<a href="http://iced-tea.org">http://iced-tea.org</a>
> +	 for more information.</b><br>
> +</body>
> +</html>


Really nice wok!
I'm galad to see it grow!

J.



More information about the distro-pkg-dev mailing list