http://wiki.apidesign.org/index.php?title=AutoUpdate&feed=atom&action=historyAutoUpdate - Revision history2024-03-29T05:54:54ZRevision history for this page on the wikiMediaWiki 1.12.0rc1http://wiki.apidesign.org/index.php?title=AutoUpdate&diff=8984&oldid=prevJaroslavTulach at 08:52, 12 September 20162016-09-12T08:52:18Z<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 08:52, 12 September 2016</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 21:</td>
<td colspan="2" class="diff-lineno">Line 21:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>$ ./netbeans/bin/netbeans --modules --refresh --install .*nbjavac.*</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>$ ./netbeans/bin/netbeans --modules --refresh --install .*nbjavac.*</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></source></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></source></div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>this is the command line interface to [[AutoUpdate]]. It instructs it to connect to ''update centers'', and download ''nbjavac'' module. Once you restart your [[NetBeans]], the [[Java]] editing capabilities are back. This allows <del style="color: red; font-weight: bold; text-decoration: none;">us </del>to distribute pure [[NetBeans]] without 3rd party libraries and download <del style="color: red; font-weight: bold; text-decoration: none;">them </del>only per user request <del style="color: red; font-weight: bold; text-decoration: none;">to their computers</del>.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>this is the command line interface to [[AutoUpdate]]. It instructs it to connect to ''update centers'', and download ''nbjavac'' module. Once you restart your [[NetBeans]], the [[Java]] editing capabilities are back. This allows <ins style="color: red; font-weight: bold; text-decoration: none;">the installer </ins>to distribute pure [[NetBeans]] without <ins style="color: red; font-weight: bold; text-decoration: none;">any </ins>3rd party libraries and <ins style="color: red; font-weight: bold; text-decoration: none;">just </ins>download <ins style="color: red; font-weight: bold; text-decoration: none;">the necessary once </ins>only per user request.</div></td></tr>
</table>JaroslavTulachhttp://wiki.apidesign.org/index.php?title=AutoUpdate&diff=8983&oldid=prevJaroslavTulach at 08:50, 12 September 20162016-09-12T08:50:50Z<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 08:50, 12 September 2016</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 17:</td>
<td colspan="2" class="diff-lineno">Line 17:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>$ find netbeans/ | grep nbjavac | xargs rm # remove them</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>$ find netbeans/ | grep nbjavac | xargs rm # remove them</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></source></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></source></div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>Now, if you started [[NetBeans]], the IDE functionality would be seriously impacted. In fact one couldn't edit any [[Java]] source, because all the lexing and parsing of [[Java]] code is handled by '''nbjavac''' module. However with [[AutoUpdate]], there is an easy fix, just execute:</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>Now, if you started [[NetBeans]], the IDE functionality would be seriously impacted. In fact one couldn't edit any [[Java]] source, because all the lexing and parsing of [[Java]] code is handled by <ins style="color: red; font-weight: bold; text-decoration: none;">missing </ins>'''nbjavac''' module. However with [[AutoUpdate]], there is an easy fix, just execute:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><source lang="bash"></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><source lang="bash"></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>$ ./netbeans/bin/netbeans --modules --refresh --install .*nbjavac.*</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>$ ./netbeans/bin/netbeans --modules --refresh --install .*nbjavac.*</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></source></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></source></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>this is the command line interface to [[AutoUpdate]]. It instructs it to connect to ''update centers'', and download ''nbjavac'' module. Once you restart your [[NetBeans]], the [[Java]] editing capabilities are back. This allows us to distribute pure [[NetBeans]] without 3rd party libraries and download them only per user request to their computers.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>this is the command line interface to [[AutoUpdate]]. It instructs it to connect to ''update centers'', and download ''nbjavac'' module. Once you restart your [[NetBeans]], the [[Java]] editing capabilities are back. This allows us to distribute pure [[NetBeans]] without 3rd party libraries and download them only per user request to their computers.</div></td></tr>
</table>JaroslavTulachhttp://wiki.apidesign.org/index.php?title=AutoUpdate&diff=8982&oldid=prevJaroslavTulach: /* Distributing Undistributable */2016-09-12T08:50:17Z<p><span class="autocomment">Distributing Undistributable</span></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 08:50, 12 September 2016</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 17:</td>
<td colspan="2" class="diff-lineno">Line 17:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>$ find netbeans/ | grep nbjavac | xargs rm # remove them</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>$ find netbeans/ | grep nbjavac | xargs rm # remove them</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></source></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></source></div></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>Now, if you started [[NetBeans]] <del style="color: red; font-weight: bold; text-decoration: none;">their </del>functionality would be seriously impacted. In fact one couldn't edit any [[Java]] source, because all the lexing and parsing of [[Java]] code is handled by '''nbjavac''' module. However with [[AutoUpdate]], there is an easy fix, just execute:</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>Now, if you started [[NetBeans]]<ins style="color: red; font-weight: bold; text-decoration: none;">, the IDE </ins>functionality would be seriously impacted. In fact one couldn't edit any [[Java]] source, because all the lexing and parsing of [[Java]] code is handled by '''nbjavac''' module. However with [[AutoUpdate]], there is an easy fix, just execute:</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><source lang="bash"></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><source lang="bash"></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>$ ./netbeans/bin/netbeans --modules --refresh --install .*nbjavac.*</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>$ ./netbeans/bin/netbeans --modules --refresh --install .*nbjavac.*</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></source></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div></source></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>this is the command line interface to [[AutoUpdate]]. It instructs it to connect to ''update centers'', and download ''nbjavac'' module. Once you restart your [[NetBeans]], the [[Java]] editing capabilities are back. This allows us to distribute pure [[NetBeans]] without 3rd party libraries and download them only per user request to their computers.</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>this is the command line interface to [[AutoUpdate]]. It instructs it to connect to ''update centers'', and download ''nbjavac'' module. Once you restart your [[NetBeans]], the [[Java]] editing capabilities are back. This allows us to distribute pure [[NetBeans]] without 3rd party libraries and download them only per user request to their computers.</div></td></tr>
</table>JaroslavTulachhttp://wiki.apidesign.org/index.php?title=AutoUpdate&diff=8981&oldid=prevJaroslavTulach at 08:49, 12 September 20162016-09-12T08:49:53Z<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 08:49, 12 September 2016</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 3:</td>
<td colspan="2" class="diff-lineno">Line 3:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Distributing Undistributable ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Distributing Undistributable ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>From time to time [[NetBeans]] have problems with licenses. Once we could not distribute [[JUnit]] because it was using archaic [[CPL]] license. From time to time we don't want to distribute [[GPL]] code. [[AutoUpdate]] is a perfect way to workaround it. Let's demonstate that on the case of [[NetBeans]] [[Javac]]<del style="color: red; font-weight: bold; text-decoration: none;">.</del></div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>From time to time [[NetBeans]] have problems with licenses. Once we could not distribute [[JUnit]] because it was using archaic [[CPL]] license. From time to time we don't want to distribute [[GPL]] code. [[AutoUpdate]] is a perfect way to workaround it. Let's demonstate that on the case of [[NetBeans]] [[Javac]]<ins style="color: red; font-weight: bold; text-decoration: none;">:</ins></div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><source lang="bash"></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><source lang="bash"></div></td></tr>
</table>JaroslavTulachhttp://wiki.apidesign.org/index.php?title=AutoUpdate&diff=8980&oldid=prevJaroslavTulach at 08:49, 12 September 20162016-09-12T08:49:34Z<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 08:49, 12 September 2016</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 3:</td>
<td colspan="2" class="diff-lineno">Line 3:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Distributing Undistributable ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Distributing Undistributable ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>From time to time [[NetBeans]] have problems with licenses. Once we could not distribute [[JUnit]] because it was using archaic [[CPL]] license. <del style="color: red; font-weight: bold; text-decoration: none;">Sometimes </del>we don't want to distribute [[GPL]] code. [[AutoUpdate]] is a perfect way to workaround it. Let's demonstate that on the case of [[NetBeans]] [[Javac]].</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>From time to time [[NetBeans]] have problems with licenses. Once we could not distribute [[JUnit]] because it was using archaic [[CPL]] license. <ins style="color: red; font-weight: bold; text-decoration: none;">From time to time </ins>we don't want to distribute [[GPL]] code. [[AutoUpdate]] is a perfect way to workaround it. Let's demonstate that on the case of [[NetBeans]] [[Javac]].</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><source lang="bash"></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><source lang="bash"></div></td></tr>
</table>JaroslavTulachhttp://wiki.apidesign.org/index.php?title=AutoUpdate&diff=8979&oldid=prevJaroslavTulach at 08:49, 12 September 20162016-09-12T08:49:12Z<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 08:49, 12 September 2016</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 3:</td>
<td colspan="2" class="diff-lineno">Line 3:</td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Distributing Undistributable ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Distributing Undistributable ===</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>From time to time [[NetBeans]] have problems with licenses. Once we could not distribute [[<del style="color: red; font-weight: bold; text-decoration: none;">Junit</del>]] because it was using archaic [[CPL]] license. Sometimes we don't want to distribute [[GPL]] code. [[AutoUpdate]] is a perfect way to workaround it. Let's demonstate that on the case of [[NetBeans]] [[Javac]].</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>From time to time [[NetBeans]] have problems with licenses. Once we could not distribute [[<ins style="color: red; font-weight: bold; text-decoration: none;">JUnit</ins>]] because it was using archaic [[CPL]] license. Sometimes we don't want to distribute [[GPL]] code. [[AutoUpdate]] is a perfect way to workaround it. Let's demonstate that on the case of [[NetBeans]] [[Javac]].</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><source lang="bash"></div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div><source lang="bash"></div></td></tr>
</table>JaroslavTulachhttp://wiki.apidesign.org/index.php?title=AutoUpdate&diff=8978&oldid=prevJaroslavTulach at 08:48, 12 September 20162016-09-12T08:48:57Z<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 08:48, 12 September 2016</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>[[NetBeans]] created [[AutoUpdate]] technology in 1999. These days it is a typical system for keeping your [[Android]], [[iOS]] or [[Linux]] distribution up to date. At the end of last century it was a novel approach of distributing software. Originally the update was driven only through [[GUI]], but later we added a command line interface. That allows the installer to use the [[AutoUpdate]] to get the most recent of binaries <del style="color: red; font-weight: bold; text-decoration: none;">and </del>also download parts of the system that aren't installed by default.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>[[NetBeans]] created [[AutoUpdate]] technology in 1999. These days it is a typical system for keeping your [[Android]], [[iOS]] or [[Linux]] distribution up to date. At the end of last century it was a novel approach of distributing software. Originally the update was driven only through [[GUI]], but later we added a command line interface. That allows the installer to use the [[AutoUpdate]] to get the most recent <ins style="color: red; font-weight: bold; text-decoration: none;">version </ins>of binaries <ins style="color: red; font-weight: bold; text-decoration: none;">during installation. It </ins>also <ins style="color: red; font-weight: bold; text-decoration: none;">allows to </ins>download parts of the system that aren't installed by default.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Distributing Undistributable ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Distributing Undistributable ===</div></td></tr>
</table>JaroslavTulachhttp://wiki.apidesign.org/index.php?title=AutoUpdate&diff=8977&oldid=prevJaroslavTulach at 08:48, 12 September 20162016-09-12T08:48:16Z<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 08:48, 12 September 2016</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>[[NetBeans]] created [[AutoUpdate]] technology in 1999. These days it is a typical system for keeping your [[Android]], [[iOS]] or [[Linux]] distribution up to date. At the end of last century it was a novel approach of distributing software. Originally the update was driven only through [[<del style="color: red; font-weight: bold; text-decoration: none;">UI</del>]], but later we added a command line interface. That allows the installer to use the [[AutoUpdate]] to get the most recent of binaries and also download parts of the system that aren't installed by default.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>[[NetBeans]] created [[AutoUpdate]] technology in 1999. These days it is a typical system for keeping your [[Android]], [[iOS]] or [[Linux]] distribution up to date. At the end of last century it was a novel approach of distributing software. Originally the update was driven only through [[<ins style="color: red; font-weight: bold; text-decoration: none;">GUI</ins>]], but later we added a command line interface. That allows the installer to use the [[AutoUpdate]] to get the most recent of binaries and also download parts of the system that aren't installed by default.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Distributing Undistributable ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Distributing Undistributable ===</div></td></tr>
</table>JaroslavTulachhttp://wiki.apidesign.org/index.php?title=AutoUpdate&diff=8976&oldid=prevJaroslavTulach at 08:47, 12 September 20162016-09-12T08:47:35Z<p></p>
<table style="background-color: white; color:black;">
<col class='diff-marker' />
<col class='diff-content' />
<col class='diff-marker' />
<col class='diff-content' />
<tr>
<td colspan='2' style="background-color: white; color:black;">←Older revision</td>
<td colspan='2' style="background-color: white; color:black;">Revision as of 08:47, 12 September 2016</td>
</tr>
<tr><td colspan="2" class="diff-lineno">Line 1:</td>
<td colspan="2" class="diff-lineno">Line 1:</td></tr>
<tr><td class='diff-marker'>-</td><td style="background: #ffa; color:black; font-size: smaller;"><div>[[NetBeans]] created [[AutoUpdate]] technology in 1999. These days it is a typical system for keeping your [[Android]], [iOS]] or [[Linux]] distribution up to date. At the end of last century it was a <del style="color: red; font-weight: bold; text-decoration: none;">kind </del>of <del style="color: red; font-weight: bold; text-decoration: none;">revolutionary system</del>. Originally the update was driven only through [[UI]], but later we added a command line interface. That allows the installer to use the [[AutoUpdate]] to get the most recent of binaries and also download parts of the system that aren't installed by default.</div></td><td class='diff-marker'>+</td><td style="background: #cfc; color:black; font-size: smaller;"><div>[[NetBeans]] created [[AutoUpdate]] technology in 1999. These days it is a typical system for keeping your [[Android]], <ins style="color: red; font-weight: bold; text-decoration: none;">[</ins>[iOS]] or [[Linux]] distribution up to date. At the end of last century it was a <ins style="color: red; font-weight: bold; text-decoration: none;">novel approach </ins>of <ins style="color: red; font-weight: bold; text-decoration: none;">distributing software</ins>. Originally the update was driven only through [[UI]], but later we added a command line interface. That allows the installer to use the [[AutoUpdate]] to get the most recent of binaries and also download parts of the system that aren't installed by default.</div></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"></td></tr>
<tr><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Distributing Undistributable ===</div></td><td class='diff-marker'> </td><td style="background: #eee; color:black; font-size: smaller;"><div>=== Distributing Undistributable ===</div></td></tr>
</table>JaroslavTulachhttp://wiki.apidesign.org/index.php?title=AutoUpdate&diff=8975&oldid=prevJaroslavTulach: New page: NetBeans created AutoUpdate technology in 1999. These days it is a typical system for keeping your Android, [iOS]] or Linux distribution up to date. At the end of last cent...2016-09-12T08:46:30Z<p>New page: <a href="/wiki/NetBeans" title="NetBeans">NetBeans</a> created <a href="/wiki/AutoUpdate" title="AutoUpdate">AutoUpdate</a> technology in 1999. These days it is a typical system for keeping your <a href="/wiki/Android" title="Android">Android</a>, [iOS]] or <a href="/wiki/Linux" title="Linux">Linux</a> distribution up to date. At the end of last cent...</p>
<p><b>New page</b></p><div>[[NetBeans]] created [[AutoUpdate]] technology in 1999. These days it is a typical system for keeping your [[Android]], [iOS]] or [[Linux]] distribution up to date. At the end of last century it was a kind of revolutionary system. Originally the update was driven only through [[UI]], but later we added a command line interface. That allows the installer to use the [[AutoUpdate]] to get the most recent of binaries and also download parts of the system that aren't installed by default.<br />
<br />
=== Distributing Undistributable ===<br />
<br />
From time to time [[NetBeans]] have problems with licenses. Once we could not distribute [[Junit]] because it was using archaic [[CPL]] license. Sometimes we don't want to distribute [[GPL]] code. [[AutoUpdate]] is a perfect way to workaround it. Let's demonstate that on the case of [[NetBeans]] [[Javac]].<br />
<br />
<source lang="bash"><br />
$ unzip ~/Downloads/netbeans-8.1-201510222201.zip # prepare NetBeans 8.1<br />
$ find netbeans/ | grep nbjavac # find NetBeans Javac binaries<br />
netbeans/java/update_tracking/org-netbeans-lib-nbjavac.xml<br />
netbeans/java/config/Modules/org-netbeans-lib-nbjavac.xml<br />
netbeans/java/modules/locale/org-netbeans-lib-nbjavac_zh_CN.jar<br />
netbeans/java/modules/locale/org-netbeans-lib-nbjavac_ru.jar<br />
netbeans/java/modules/locale/org-netbeans-lib-nbjavac_pt_BR.jar<br />
netbeans/java/modules/locale/org-netbeans-lib-nbjavac_ja.jar<br />
netbeans/java/modules/org-netbeans-lib-nbjavac.jar<br />
$ find netbeans/ | grep nbjavac | xargs rm # remove them<br />
</source><br />
Now, if you started [[NetBeans]] their functionality would be seriously impacted. In fact one couldn't edit any [[Java]] source, because all the lexing and parsing of [[Java]] code is handled by '''nbjavac''' module. However with [[AutoUpdate]], there is an easy fix, just execute:<br />
<source lang="bash"><br />
$ ./netbeans/bin/netbeans --modules --refresh --install .*nbjavac.*<br />
</source><br />
this is the command line interface to [[AutoUpdate]]. It instructs it to connect to ''update centers'', and download ''nbjavac'' module. Once you restart your [[NetBeans]], the [[Java]] editing capabilities are back. This allows us to distribute pure [[NetBeans]] without 3rd party libraries and download them only per user request to their computers.</div>JaroslavTulach