netlinx-compile 1.0.0 → 3.1.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. checksums.yaml +5 -5
  2. data/README.md +122 -0
  3. data/doc/NetLinx.html +130 -151
  4. data/doc/NetLinx/Compile.html +130 -148
  5. data/doc/NetLinx/Compile/Extension.html +128 -145
  6. data/doc/NetLinx/Compile/Extension/AXS.html +218 -154
  7. data/doc/NetLinx/Compile/ExtensionDiscovery.html +524 -321
  8. data/doc/NetLinx/Compile/ExtensionHandler.html +755 -396
  9. data/doc/NetLinx/Compile/Script.html +431 -282
  10. data/doc/NetLinx/Compiler.html +496 -285
  11. data/doc/NetLinx/CompilerResult.html +1250 -498
  12. data/doc/NetLinx/NoCompilerError.html +142 -155
  13. data/doc/NetLinx/Rake.html +115 -0
  14. data/doc/NetLinx/Rake/Compile.html +358 -0
  15. data/doc/NetLinx/SourceFile.html +702 -423
  16. data/doc/_index.html +234 -0
  17. data/doc/class_list.html +51 -0
  18. data/doc/css/common.css +1 -0
  19. data/doc/css/full_list.css +58 -0
  20. data/doc/css/style.css +496 -0
  21. data/doc/file.README.html +156 -0
  22. data/doc/file.license.html +70 -0
  23. data/doc/file_list.html +61 -0
  24. data/doc/frames.html +17 -0
  25. data/doc/index.html +156 -103
  26. data/doc/js/app.js +314 -0
  27. data/doc/js/full_list.js +216 -0
  28. data/doc/js/jquery.js +4 -18
  29. data/doc/method_list.html +339 -0
  30. data/doc/top-level-namespace.html +110 -0
  31. data/lib/netlinx-compile.rb +11 -1
  32. data/lib/netlinx/compile/extension_discovery.rb +4 -2
  33. data/lib/netlinx/compile/extension_handler.rb +23 -25
  34. data/lib/netlinx/compile/script.rb +4 -3
  35. data/lib/netlinx/compiler.rb +45 -21
  36. data/lib/netlinx/compiler_result.rb +16 -17
  37. data/lib/netlinx/rake/compile.rb +4 -0
  38. data/lib/netlinx/rake/compile/compile.rb +34 -0
  39. data/lib/netlinx/source_file.rb +20 -14
  40. data/lib/test/netlinx/compilable.rb +13 -48
  41. data/lib/test/netlinx/compile/discoverable.rb +3 -14
  42. data/lib/test/netlinx/compile/invokable.rb +3 -15
  43. data/license.txt +1 -1
  44. metadata +114 -74
  45. data/README.txt +0 -2
  46. data/doc/Test.html +0 -147
  47. data/doc/Test/NetLinx.html +0 -147
  48. data/doc/Test/NetLinx/Compilable.html +0 -148
  49. data/doc/Test/NetLinx/Compile.html +0 -146
  50. data/doc/Test/NetLinx/Compile/Discoverable.html +0 -148
  51. data/doc/Test/NetLinx/Compile/Invokable.html +0 -149
  52. data/doc/created.rid +0 -12
  53. data/doc/images/add.png +0 -0
  54. data/doc/images/arrow_up.png +0 -0
  55. data/doc/images/brick.png +0 -0
  56. data/doc/images/brick_link.png +0 -0
  57. data/doc/images/bug.png +0 -0
  58. data/doc/images/bullet_black.png +0 -0
  59. data/doc/images/bullet_toggle_minus.png +0 -0
  60. data/doc/images/bullet_toggle_plus.png +0 -0
  61. data/doc/images/date.png +0 -0
  62. data/doc/images/delete.png +0 -0
  63. data/doc/images/find.png +0 -0
  64. data/doc/images/loadingAnimation.gif +0 -0
  65. data/doc/images/macFFBgHack.png +0 -0
  66. data/doc/images/package.png +0 -0
  67. data/doc/images/page_green.png +0 -0
  68. data/doc/images/page_white_text.png +0 -0
  69. data/doc/images/page_white_width.png +0 -0
  70. data/doc/images/plugin.png +0 -0
  71. data/doc/images/ruby.png +0 -0
  72. data/doc/images/tag_blue.png +0 -0
  73. data/doc/images/tag_green.png +0 -0
  74. data/doc/images/transparent.png +0 -0
  75. data/doc/images/wrench.png +0 -0
  76. data/doc/images/wrench_orange.png +0 -0
  77. data/doc/images/zoom.png +0 -0
  78. data/doc/js/darkfish.js +0 -155
  79. data/doc/js/navigation.js +0 -142
  80. data/doc/js/search.js +0 -94
  81. data/doc/js/search_index.js +0 -1
  82. data/doc/js/searcher.js +0 -228
  83. data/doc/rdoc.css +0 -595
  84. data/doc/table_of_contents.html +0 -138
@@ -0,0 +1,156 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ File: README
8
+
9
+ &mdash; Documentation by YARD 0.9.25
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" />
16
+
17
+ <script type="text/javascript">
18
+ pathId = "README";
19
+ relpath = '';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="file_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="_index.html">Index</a> &raquo;
40
+ <span class="title">File: README</span>
41
+
42
+ </div>
43
+
44
+ <div id="search">
45
+
46
+ <a class="full_list_link" id="class_list_link"
47
+ href="class_list.html">
48
+
49
+ <svg width="24" height="24">
50
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
51
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
52
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
53
+ </svg>
54
+ </a>
55
+
56
+ </div>
57
+ <div class="clear"></div>
58
+ </div>
59
+
60
+ <div id="content"><div id='filecontents'>
61
+ <h1 id="label-NetLinx+Compile">NetLinx Compile</h1>
62
+
63
+ <p>netlinx-compile</p>
64
+
65
+ <p>A wrapper utility for the AMX NetLinx compiler.</p>
66
+
67
+ <p><a href="http://badge.fury.io/rb/netlinx-compile"><img src="https://badge.fury.io/rb/netlinx-compile.png"></a> <a href="http://www.rubydoc.info/gems/netlinx-compile"><img src="https://img.shields.io/badge/docs-api-blue.svg"></a> <a href="http://www.apache.org/licenses/LICENSE-2.0"><img src="https://img.shields.io/badge/license-Apache%202.0-yellowgreen.svg"></a></p>
68
+
69
+ <p>This library provides an executable, <code>netlinx-compile</code>, that wraps the <code>nlrc.exe</code> NetLinx compiler provided by AMX. It is designed for easier command line access, as well as for integration with third-party tools with source code build support, like text editors and IDE&#39;s. Also provided in this library is a Ruby API for invoking the NetLinx compiler.</p>
70
+
71
+ <h2 id="label-Upgrade+Notice">Upgrade Notice</h2>
72
+
73
+ <p>AMX has broken NetLinx compilier functionality between NLRC.exe v1.0 (distributed with NetLinx Studio v3.x) and NLRC.exe v2.1 (distributed with NetLinx Studio 4). NLRC.exe v2.x was distributed with NetLinx Studio 4 versions less than 4.1.1204, and has major problems. It is recommended to <em>avoid</em> NLRC.exe v2.x. NLRC.exe v3.x started being distributed in NetLinx Studio v4.1.1204 and appears to have <a href="https://github.com/amclain/netlinx-compile/issues/1">fixed the problems when compiling include and Duet files</a>. Due to the major changes in the NetLinx compiler, it may be necessary to use version 1.x of netlinx-compile when working with projects created with NetLinx Studio v3.x or earlier.</p>
74
+ <ul><li>
75
+ <p>Version 1.x of netlinx-compile targets NLRC.exe v1.x.</p>
76
+ </li><li>
77
+ <p>NLRC.exe v2.x is considered broken and is unsupported by netlinx-compile.</p>
78
+ </li><li>
79
+ <p>Version 3.x of netlinx-compile targets NLRC.exe v3.x.</p>
80
+ </li></ul>
81
+
82
+ <p><a href="https://github.com/amclain/netlinx-compile/labels/amx%20bug%20-%20can't%20fix">AMX NetLinx Compiler Bug List</a></p>
83
+
84
+ <h2 id="label-Installation">Installation</h2>
85
+
86
+ <p>netlinx-compile is available as a Ruby gem.</p>
87
+ <ol><li>
88
+ <p>Install <a href="http://www.ruby-lang.org/en/downloads/">Ruby</a> 2.0 or higher (For Windows use <a href="http://rubyinstaller.org/downloads/">RubyInstaller</a> and make sure ruby/bin is in your <a href="http://www.computerhope.com/issues/ch000549.htm">system path</a>.)</p>
89
+ </li><li>
90
+ <p>Open the <a href="http://www.addictivetips.com/windows-tips/windows-7-elevated-command-prompt-in-context-menu/">command line</a> and type:</p>
91
+ </li></ol>
92
+
93
+ <pre class="code ruby"><code class="ruby">gem install netlinx-compile
94
+ gem install netlinx-workspace (optional: for NetLinx Studio workspace support)
95
+ </code></pre>
96
+
97
+ <p><em>NOTE: The NetLinx compiler executable provided by AMX, nlrc.exe, must be installed on your computer for this utility to work. It is included in the NetLinx Studio installation by default.</em></p>
98
+
99
+ <p><strong>If you receive the following error when running gem install:</strong> <code>Unable to download data from https://rubygems.org/ - SSL_connect returned=1</code></p>
100
+
101
+ <p>Follow this guide: <a href="https://gist.github.com/luislavena/f064211759ee0f806c88">Workaround RubyGems’ SSL errors on Ruby for Windows (RubyInstaller)</a></p>
102
+
103
+ <h2 id="label-Issues-2C+Bugs-2C+Feature+Requests">Issues, Bugs, Feature Requests</h2>
104
+
105
+ <p>Any bugs and feature requests should be reported on the GitHub issue tracker:</p>
106
+
107
+ <p><a href="https://github.com/amclain/netlinx-compile/issues">github.com/amclain/netlinx-compile/issues</a></p>
108
+
109
+ <p><strong>Pull requests are preferred via GitHub.</strong></p>
110
+
111
+ <h2 id="label-Use">Use</h2>
112
+
113
+ <p><strong>Sublime Text Editor</strong></p>
114
+
115
+ <p>NetLinx Compile can be integrated into <a href="http://www.sublimetext.com/3">Sublime Text</a> with the <a href="https://github.com/amclain/sublime-netlinx">Sublime Text AMX NetLinx Plugin</a>. This allows NetLinx source code and workspaces to be compiled with the editor&#39;s built-in build commands.</p>
116
+
117
+ <p><strong>Command Line</strong></p>
118
+
119
+ <p>NetLinx Compile provides friendlier command line access than the traditional NetLinx compiler provided by AMX. For starters, files can now be entered by relative path (<code>my_file.axs</code>) as well as absolute path (<code>c:\path\to\my_file.axs</code>). A more advanced feature, workspace compiling, can invoke the NetLinx compiler on a workspace file, as well as intelligently seek out a workspace for a given source code file.</p>
120
+
121
+ <p>Compile a source code file.</p>
122
+
123
+ <pre class="code ruby"><code class="ruby">netlinx-compile -s my_source_code.axs
124
+ </code></pre>
125
+
126
+ <p>Compile a workspace (with <a href="https://github.com/amclain/netlinx-workspace">NetLinx Workspace</a> installed).</p>
127
+
128
+ <pre class="code ruby"><code class="ruby">netlinx-compile -s my_workspace.apw
129
+ </code></pre>
130
+
131
+ <p>Find the workspace that contains my_source_code.axs and compile it.</p>
132
+
133
+ <pre class="code ruby"><code class="ruby">netlinx-compile -w -s my_source_code.axs
134
+ </code></pre>
135
+
136
+ <p>Print all of the option flags and their descriptions.</p>
137
+
138
+ <pre class="code ruby"><code class="ruby">netlinx-compile -h
139
+ </code></pre>
140
+
141
+ <p><strong>Ruby Developer API</strong></p>
142
+
143
+ <p>A Ruby API is provided for developers looking to integrate the NetLinx Compile library into thier own tools. <a href="http://rubydoc.info/gems/netlinx-compile/frames">NetLinx Compile Developer Documentation</a></p>
144
+
145
+ <p>NetLinx Compile supports the ability to invoke the compiler on third-party files, like when creating new types of workspaces. To add NetLinx Compile support to your Ruby gem, create a handler for your file extension under the namespace NetLinx::Compile::Extension, place the .rb file under lib/netlinx/compile/extension in your gem, and add a dependency or development dependency in your gemspec to the netlinx-compile gem. NetLinx Compile will now automatically use your gem to compile the file extension it specifies. This is implemented in NetLinx::Compile::Extension::AXS, as well as in the <a href="https://github.com/amclain/netlinx-workspace">NetLinx Workspace</a> gem.</p>
146
+ </div></div>
147
+
148
+ <div id="footer">
149
+ Generated on Sat Jul 11 17:29:50 2020 by
150
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
151
+ 0.9.25 (ruby-2.7.1).
152
+ </div>
153
+
154
+ </div>
155
+ </body>
156
+ </html>
@@ -0,0 +1,70 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ File: license
8
+
9
+ &mdash; Documentation by YARD 0.9.25
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" />
16
+
17
+ <script type="text/javascript">
18
+ pathId = "license";
19
+ relpath = '';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="file_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="_index.html">Index</a> &raquo;
40
+ <span class="title">File: license</span>
41
+
42
+ </div>
43
+
44
+ <div id="search">
45
+
46
+ <a class="full_list_link" id="class_list_link"
47
+ href="class_list.html">
48
+
49
+ <svg width="24" height="24">
50
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
51
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
52
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
53
+ </svg>
54
+ </a>
55
+
56
+ </div>
57
+ <div class="clear"></div>
58
+ </div>
59
+
60
+ <div id="content"><div id='filecontents'>Copyright 2013, 2015 Alex McLain<br/><br/>Licensed under the Apache License, Version 2.0 (the &quot;License&quot;);<br/>you may not use this file except in compliance with the License.<br/>You may obtain a copy of the License at<br/><br/> http://www.apache.org/licenses/LICENSE-2.0<br/><br/>Unless required by applicable law or agreed to in writing, software<br/>distributed under the License is distributed on an &quot;AS IS&quot; BASIS,<br/>WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.<br/>See the License for the specific language governing permissions and<br/>limitations under the License.</div></div>
61
+
62
+ <div id="footer">
63
+ Generated on Sat Jul 11 17:29:50 2020 by
64
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
65
+ 0.9.25 (ruby-2.7.1).
66
+ </div>
67
+
68
+ </div>
69
+ </body>
70
+ </html>
@@ -0,0 +1,61 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
5
+ <meta charset="utf-8" />
6
+
7
+ <link rel="stylesheet" href="css/full_list.css" type="text/css" media="screen" />
8
+
9
+ <link rel="stylesheet" href="css/common.css" type="text/css" media="screen" />
10
+
11
+
12
+
13
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
14
+
15
+ <script type="text/javascript" charset="utf-8" src="js/full_list.js"></script>
16
+
17
+
18
+ <title>File List</title>
19
+ <base id="base_target" target="_parent" />
20
+ </head>
21
+ <body>
22
+ <div id="content">
23
+ <div class="fixed_header">
24
+ <h1 id="full_list_header">File List</h1>
25
+ <div id="full_list_nav">
26
+
27
+ <span><a target="_self" href="class_list.html">
28
+ Classes
29
+ </a></span>
30
+
31
+ <span><a target="_self" href="method_list.html">
32
+ Methods
33
+ </a></span>
34
+
35
+ <span><a target="_self" href="file_list.html">
36
+ Files
37
+ </a></span>
38
+
39
+ </div>
40
+
41
+ <div id="search">Search: <input type="text" /></div>
42
+ </div>
43
+
44
+ <ul id="full_list" class="file">
45
+
46
+
47
+ <li id="object_README" class="odd">
48
+ <div class="item"><span class="object_link"><a href="index.html" title="README">README</a></span></div>
49
+ </li>
50
+
51
+
52
+ <li id="object_license" class="even">
53
+ <div class="item"><span class="object_link"><a href="file.license.html" title="license">license</a></span></div>
54
+ </li>
55
+
56
+
57
+
58
+ </ul>
59
+ </div>
60
+ </body>
61
+ </html>
@@ -0,0 +1,17 @@
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="utf-8">
5
+ <title>Documentation by YARD 0.9.25</title>
6
+ </head>
7
+ <script type="text/javascript">
8
+ var match = unescape(window.location.hash).match(/^#!(.+)/);
9
+ var name = match ? match[1] : 'index.html';
10
+ name = name.replace(/^(\w+):\/\//, '').replace(/^\/\//, '');
11
+ window.top.location = name;
12
+ </script>
13
+ <noscript>
14
+ <h1>Oops!</h1>
15
+ <h2>YARD requires JavaScript!</h2>
16
+ </noscript>
17
+ </html>
@@ -1,103 +1,156 @@
1
- <!DOCTYPE html>
2
-
3
- <html>
4
- <head>
5
- <meta content="text/html; charset=UTF-8" http-equiv="Content-Type">
6
-
7
- <title>RDoc Documentation</title>
8
-
9
- <link type="text/css" media="screen" href="./rdoc.css" rel="stylesheet">
10
-
11
- <script type="text/javascript">
12
- var rdoc_rel_prefix = "./";
13
- </script>
14
-
15
- <script type="text/javascript" charset="utf-8" src="./js/jquery.js"></script>
16
- <script type="text/javascript" charset="utf-8" src="./js/navigation.js"></script>
17
- <script type="text/javascript" charset="utf-8" src="./js/search_index.js"></script>
18
- <script type="text/javascript" charset="utf-8" src="./js/search.js"></script>
19
- <script type="text/javascript" charset="utf-8" src="./js/searcher.js"></script>
20
- <script type="text/javascript" charset="utf-8" src="./js/darkfish.js"></script>
21
-
22
-
23
- <body>
24
- <nav id="metadata">
25
- <nav id="home-section" class="section">
26
- <h3 class="section-header">
27
- <a href="./index.html">Home</a>
28
- <a href="./table_of_contents.html#classes">Classes</a>
29
- <a href="./table_of_contents.html#methods">Methods</a>
30
- </h3>
31
- </nav>
32
-
33
-
34
- <nav id="search-section" class="section project-section" class="initially-hidden">
35
- <form action="#" method="get" accept-charset="utf-8">
36
- <h3 class="section-header">
37
- <input type="text" name="search" placeholder="Search" id="search-field"
38
- title="Type to search, Up and Down to navigate, Enter to load">
39
- </h3>
40
- </form>
41
-
42
- <ul id="search-results" class="initially-hidden"></ul>
43
- </nav>
44
-
45
-
46
- <div id="project-metadata">
47
-
48
- <nav id="classindex-section" class="section project-section">
49
- <h3 class="section-header">Class and Module Index</h3>
50
-
51
- <ul class="link-list">
52
-
53
- <li><a href="./NetLinx.html">NetLinx</a>
54
-
55
- <li><a href="./NetLinx/Compile.html">NetLinx::Compile</a>
56
-
57
- <li><a href="./NetLinx/Compile/Extension.html">NetLinx::Compile::Extension</a>
58
-
59
- <li><a href="./NetLinx/Compile/Extension/AXS.html">NetLinx::Compile::Extension::AXS</a>
60
-
61
- <li><a href="./NetLinx/Compile/ExtensionDiscovery.html">NetLinx::Compile::ExtensionDiscovery</a>
62
-
63
- <li><a href="./NetLinx/Compile/ExtensionHandler.html">NetLinx::Compile::ExtensionHandler</a>
64
-
65
- <li><a href="./NetLinx/Compile/Script.html">NetLinx::Compile::Script</a>
66
-
67
- <li><a href="./NetLinx/Compiler.html">NetLinx::Compiler</a>
68
-
69
- <li><a href="./NetLinx/CompilerResult.html">NetLinx::CompilerResult</a>
70
-
71
- <li><a href="./NetLinx/NoCompilerError.html">NetLinx::NoCompilerError</a>
72
-
73
- <li><a href="./NetLinx/SourceFile.html">NetLinx::SourceFile</a>
74
-
75
- <li><a href="./Test.html">Test</a>
76
-
77
- <li><a href="./Test/NetLinx.html">Test::NetLinx</a>
78
-
79
- <li><a href="./Test/NetLinx/Compilable.html">Test::NetLinx::Compilable</a>
80
-
81
- <li><a href="./Test/NetLinx/Compile.html">Test::NetLinx::Compile</a>
82
-
83
- <li><a href="./Test/NetLinx/Compile/Discoverable.html">Test::NetLinx::Compile::Discoverable</a>
84
-
85
- <li><a href="./Test/NetLinx/Compile/Invokable.html">Test::NetLinx::Compile::Invokable</a>
86
-
87
- </ul>
88
- </nav>
89
-
90
- </div>
91
- </nav>
92
-
93
- <div id="documentation" class="description">
94
- <p>This is the API documentation for RDoc Documentation.
95
- </div>
96
-
97
-
98
- <footer id="validator-badges">
99
- <p><a href="http://validator.w3.org/check/referer">[Validate]</a>
100
- <p>Generated by <a href="https://github.com/rdoc/rdoc">RDoc</a> 4.0.1.
101
- <p>Generated with the <a href="http://deveiate.org/projects/Darkfish-Rdoc/">Darkfish Rdoc Generator</a> 3.
102
- </footer>
103
-
1
+ <!DOCTYPE html>
2
+ <html>
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>
7
+ File: README
8
+
9
+ &mdash; Documentation by YARD 0.9.25
10
+
11
+ </title>
12
+
13
+ <link rel="stylesheet" href="css/style.css" type="text/css" />
14
+
15
+ <link rel="stylesheet" href="css/common.css" type="text/css" />
16
+
17
+ <script type="text/javascript">
18
+ pathId = "README";
19
+ relpath = '';
20
+ </script>
21
+
22
+
23
+ <script type="text/javascript" charset="utf-8" src="js/jquery.js"></script>
24
+
25
+ <script type="text/javascript" charset="utf-8" src="js/app.js"></script>
26
+
27
+
28
+ </head>
29
+ <body>
30
+ <div class="nav_wrap">
31
+ <iframe id="nav" src="class_list.html?1"></iframe>
32
+ <div id="resizer"></div>
33
+ </div>
34
+
35
+ <div id="main" tabindex="-1">
36
+ <div id="header">
37
+ <div id="menu">
38
+
39
+ <a href="_index.html">Index</a> &raquo;
40
+ <span class="title">File: README</span>
41
+
42
+ </div>
43
+
44
+ <div id="search">
45
+
46
+ <a class="full_list_link" id="class_list_link"
47
+ href="class_list.html">
48
+
49
+ <svg width="24" height="24">
50
+ <rect x="0" y="4" width="24" height="4" rx="1" ry="1"></rect>
51
+ <rect x="0" y="12" width="24" height="4" rx="1" ry="1"></rect>
52
+ <rect x="0" y="20" width="24" height="4" rx="1" ry="1"></rect>
53
+ </svg>
54
+ </a>
55
+
56
+ </div>
57
+ <div class="clear"></div>
58
+ </div>
59
+
60
+ <div id="content"><div id='filecontents'>
61
+ <h1 id="label-NetLinx+Compile">NetLinx Compile</h1>
62
+
63
+ <p>netlinx-compile</p>
64
+
65
+ <p>A wrapper utility for the AMX NetLinx compiler.</p>
66
+
67
+ <p><a href="http://badge.fury.io/rb/netlinx-compile"><img src="https://badge.fury.io/rb/netlinx-compile.png"></a> <a href="http://www.rubydoc.info/gems/netlinx-compile"><img src="https://img.shields.io/badge/docs-api-blue.svg"></a> <a href="http://www.apache.org/licenses/LICENSE-2.0"><img src="https://img.shields.io/badge/license-Apache%202.0-yellowgreen.svg"></a></p>
68
+
69
+ <p>This library provides an executable, <code>netlinx-compile</code>, that wraps the <code>nlrc.exe</code> NetLinx compiler provided by AMX. It is designed for easier command line access, as well as for integration with third-party tools with source code build support, like text editors and IDE&#39;s. Also provided in this library is a Ruby API for invoking the NetLinx compiler.</p>
70
+
71
+ <h2 id="label-Upgrade+Notice">Upgrade Notice</h2>
72
+
73
+ <p>AMX has broken NetLinx compilier functionality between NLRC.exe v1.0 (distributed with NetLinx Studio v3.x) and NLRC.exe v2.1 (distributed with NetLinx Studio 4). NLRC.exe v2.x was distributed with NetLinx Studio 4 versions less than 4.1.1204, and has major problems. It is recommended to <em>avoid</em> NLRC.exe v2.x. NLRC.exe v3.x started being distributed in NetLinx Studio v4.1.1204 and appears to have <a href="https://github.com/amclain/netlinx-compile/issues/1">fixed the problems when compiling include and Duet files</a>. Due to the major changes in the NetLinx compiler, it may be necessary to use version 1.x of netlinx-compile when working with projects created with NetLinx Studio v3.x or earlier.</p>
74
+ <ul><li>
75
+ <p>Version 1.x of netlinx-compile targets NLRC.exe v1.x.</p>
76
+ </li><li>
77
+ <p>NLRC.exe v2.x is considered broken and is unsupported by netlinx-compile.</p>
78
+ </li><li>
79
+ <p>Version 3.x of netlinx-compile targets NLRC.exe v3.x.</p>
80
+ </li></ul>
81
+
82
+ <p><a href="https://github.com/amclain/netlinx-compile/labels/amx%20bug%20-%20can't%20fix">AMX NetLinx Compiler Bug List</a></p>
83
+
84
+ <h2 id="label-Installation">Installation</h2>
85
+
86
+ <p>netlinx-compile is available as a Ruby gem.</p>
87
+ <ol><li>
88
+ <p>Install <a href="http://www.ruby-lang.org/en/downloads/">Ruby</a> 2.0 or higher (For Windows use <a href="http://rubyinstaller.org/downloads/">RubyInstaller</a> and make sure ruby/bin is in your <a href="http://www.computerhope.com/issues/ch000549.htm">system path</a>.)</p>
89
+ </li><li>
90
+ <p>Open the <a href="http://www.addictivetips.com/windows-tips/windows-7-elevated-command-prompt-in-context-menu/">command line</a> and type:</p>
91
+ </li></ol>
92
+
93
+ <pre class="code ruby"><code class="ruby">gem install netlinx-compile
94
+ gem install netlinx-workspace (optional: for NetLinx Studio workspace support)
95
+ </code></pre>
96
+
97
+ <p><em>NOTE: The NetLinx compiler executable provided by AMX, nlrc.exe, must be installed on your computer for this utility to work. It is included in the NetLinx Studio installation by default.</em></p>
98
+
99
+ <p><strong>If you receive the following error when running gem install:</strong> <code>Unable to download data from https://rubygems.org/ - SSL_connect returned=1</code></p>
100
+
101
+ <p>Follow this guide: <a href="https://gist.github.com/luislavena/f064211759ee0f806c88">Workaround RubyGems’ SSL errors on Ruby for Windows (RubyInstaller)</a></p>
102
+
103
+ <h2 id="label-Issues-2C+Bugs-2C+Feature+Requests">Issues, Bugs, Feature Requests</h2>
104
+
105
+ <p>Any bugs and feature requests should be reported on the GitHub issue tracker:</p>
106
+
107
+ <p><a href="https://github.com/amclain/netlinx-compile/issues">github.com/amclain/netlinx-compile/issues</a></p>
108
+
109
+ <p><strong>Pull requests are preferred via GitHub.</strong></p>
110
+
111
+ <h2 id="label-Use">Use</h2>
112
+
113
+ <p><strong>Sublime Text Editor</strong></p>
114
+
115
+ <p>NetLinx Compile can be integrated into <a href="http://www.sublimetext.com/3">Sublime Text</a> with the <a href="https://github.com/amclain/sublime-netlinx">Sublime Text AMX NetLinx Plugin</a>. This allows NetLinx source code and workspaces to be compiled with the editor&#39;s built-in build commands.</p>
116
+
117
+ <p><strong>Command Line</strong></p>
118
+
119
+ <p>NetLinx Compile provides friendlier command line access than the traditional NetLinx compiler provided by AMX. For starters, files can now be entered by relative path (<code>my_file.axs</code>) as well as absolute path (<code>c:\path\to\my_file.axs</code>). A more advanced feature, workspace compiling, can invoke the NetLinx compiler on a workspace file, as well as intelligently seek out a workspace for a given source code file.</p>
120
+
121
+ <p>Compile a source code file.</p>
122
+
123
+ <pre class="code ruby"><code class="ruby">netlinx-compile -s my_source_code.axs
124
+ </code></pre>
125
+
126
+ <p>Compile a workspace (with <a href="https://github.com/amclain/netlinx-workspace">NetLinx Workspace</a> installed).</p>
127
+
128
+ <pre class="code ruby"><code class="ruby">netlinx-compile -s my_workspace.apw
129
+ </code></pre>
130
+
131
+ <p>Find the workspace that contains my_source_code.axs and compile it.</p>
132
+
133
+ <pre class="code ruby"><code class="ruby">netlinx-compile -w -s my_source_code.axs
134
+ </code></pre>
135
+
136
+ <p>Print all of the option flags and their descriptions.</p>
137
+
138
+ <pre class="code ruby"><code class="ruby">netlinx-compile -h
139
+ </code></pre>
140
+
141
+ <p><strong>Ruby Developer API</strong></p>
142
+
143
+ <p>A Ruby API is provided for developers looking to integrate the NetLinx Compile library into thier own tools. <a href="http://rubydoc.info/gems/netlinx-compile/frames">NetLinx Compile Developer Documentation</a></p>
144
+
145
+ <p>NetLinx Compile supports the ability to invoke the compiler on third-party files, like when creating new types of workspaces. To add NetLinx Compile support to your Ruby gem, create a handler for your file extension under the namespace NetLinx::Compile::Extension, place the .rb file under lib/netlinx/compile/extension in your gem, and add a dependency or development dependency in your gemspec to the netlinx-compile gem. NetLinx Compile will now automatically use your gem to compile the file extension it specifies. This is implemented in NetLinx::Compile::Extension::AXS, as well as in the <a href="https://github.com/amclain/netlinx-workspace">NetLinx Workspace</a> gem.</p>
146
+ </div></div>
147
+
148
+ <div id="footer">
149
+ Generated on Sat Jul 11 17:29:50 2020 by
150
+ <a href="http://yardoc.org" title="Yay! A Ruby Documentation Tool" target="_parent">yard</a>
151
+ 0.9.25 (ruby-2.7.1).
152
+ </div>
153
+
154
+ </div>
155
+ </body>
156
+ </html>