netlinx-compile 1.0.0 → 3.1.2

Sign up to get free protection for your applications and to get access to all the features.
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>