@@ -1122,60 +1122,16 @@ impl Step for RustAnalyzer {
1122
1122
return None ;
1123
1123
}
1124
1124
1125
- let src = builder. src . join ( "src/tools/rust-analyzer" ) ;
1126
- let release_num = builder. release_num ( "rust-analyzer/crates/rust-analyzer" ) ;
1127
- let name = pkgname ( builder, "rust-analyzer" ) ;
1128
- let version = builder. rust_analyzer_info . version ( builder, & release_num) ;
1129
-
1130
- let tmp = tmpdir ( builder) ;
1131
- let image = tmp. join ( "rust-analyzer-image" ) ;
1132
- drop ( fs:: remove_dir_all ( & image) ) ;
1133
- builder. create_dir ( & image) ;
1134
-
1135
- // Prepare the image directory
1136
- // We expect rust-analyer to always build, as it doesn't depend on rustc internals
1137
- // and doesn't have associated toolstate.
1138
1125
let rust_analyzer = builder
1139
1126
. ensure ( tool:: RustAnalyzer { compiler, target, extra_features : Vec :: new ( ) } )
1140
1127
. expect ( "rust-analyzer always builds" ) ;
1141
1128
1142
- builder. install ( & rust_analyzer, & image. join ( "bin" ) , 0o755 ) ;
1143
- let doc = image. join ( "share/doc/rust-analyzer" ) ;
1144
- builder. install ( & src. join ( "README.md" ) , & doc, 0o644 ) ;
1145
- builder. install ( & src. join ( "LICENSE-APACHE" ) , & doc, 0o644 ) ;
1146
- builder. install ( & src. join ( "LICENSE-MIT" ) , & doc, 0o644 ) ;
1147
-
1148
- // Prepare the overlay
1149
- let overlay = tmp. join ( "rust-analyzer-overlay" ) ;
1150
- drop ( fs:: remove_dir_all ( & overlay) ) ;
1151
- t ! ( fs:: create_dir_all( & overlay) ) ;
1152
- builder. install ( & src. join ( "README.md" ) , & overlay, 0o644 ) ;
1153
- builder. install ( & src. join ( "LICENSE-APACHE" ) , & doc, 0o644 ) ;
1154
- builder. install ( & src. join ( "LICENSE-MIT" ) , & doc, 0o644 ) ;
1155
- builder. create ( & overlay. join ( "version" ) , & version) ;
1156
-
1157
- // Generate the installer tarball
1158
- let mut cmd = rust_installer ( builder) ;
1159
- cmd. arg ( "generate" )
1160
- . arg ( "--product-name=Rust" )
1161
- . arg ( "--rel-manifest-dir=rustlib" )
1162
- . arg ( "--success-message=rust-analyzer-ready-to-serve." )
1163
- . arg ( "--image-dir" )
1164
- . arg ( & image)
1165
- . arg ( "--work-dir" )
1166
- . arg ( & tmpdir ( builder) )
1167
- . arg ( "--output-dir" )
1168
- . arg ( & distdir ( builder) )
1169
- . arg ( "--non-installed-overlay" )
1170
- . arg ( & overlay)
1171
- . arg ( format ! ( "--package-name={}-{}" , name, target. triple) )
1172
- . arg ( "--legacy-manifest-dirs=rustlib,cargo" )
1173
- . arg ( "--component-name=rust-analyzer-preview" ) ;
1174
-
1175
- builder. info ( & format ! ( "Dist rust-analyzer stage{} ({})" , compiler. stage, target) ) ;
1176
- let _time = timeit ( builder) ;
1177
- builder. run ( & mut cmd) ;
1178
- Some ( distdir ( builder) . join ( format ! ( "{}-{}.tar.gz" , name, target. triple) ) )
1129
+ let mut tarball = Tarball :: new ( builder, "rust-analyzer" , & target. triple ) ;
1130
+ tarball. set_overlay ( OverlayKind :: RustAnalyzer ) ;
1131
+ tarball. is_preview ( true ) ;
1132
+ tarball. add_file ( rust_analyzer, "bin" , 0o755 ) ;
1133
+ tarball. add_legal_and_readme_to ( "share/doc/rust-analyzer" ) ;
1134
+ Some ( tarball. generate ( ) )
1179
1135
}
1180
1136
}
1181
1137
0 commit comments