Titanium JIRA Archive
Titanium SDK/CLI (TIMOB)

[TIMOB-24829] Hyperloop: Android - Slow Compile-time, too many JS-wrappers generated

GitHub Issuen/a
TypeImprovement
PriorityCritical
StatusClosed
ResolutionFixed
Resolution Date2017-11-20T10:28:06.000+0000
Affected Version/sHyperloop 2.1.1
Fix Version/sHyperloop 2.2.0
ComponentsAndroid, Hyperloop
Labelsandroid, hyperloop
ReporterMichael Gangolf
AssigneeJan Vennemann
Created2017-06-15T13:00:03.000+0000
Updated2017-11-20T20:30:18.000+0000

Description

When compiling an Android Hyperloop project it takes a long time to compile a project. {quote} [INFO] Processing JavaScript files {quote} Takes a very long time (minutes!) and results in: {quote} [INFO] Encrypting JavaScript files: /home/miga/.titanium/mobilesdk/linux/6.1.0.GA/android/titanium_prep.linux64 "com.miga.calendarview" "/home/miga/dev/titanium/hyper.cal/build/android/assets" "alloy/CFG.js" "app.js" "alloy/backbone.js" "alloy/constants.js" "alloy/controllers/BaseController.js" "alloy/controllers/index.js" "alloy/styles/index.js" "alloy/sync/localStorage.js" "alloy/sync/properties.js" "alloy/sync/sql.js" "alloy/underscore.js" "alloy/widget.js" "alloy.js" "calendar-android.js" "hyperloop/android.accounts.Account.js" "hyperloop/android.accounts.js" "hyperloop/android.animation.Animator$AnimatorListener.js" "hyperloop/android.animation.Animator$AnimatorPauseListener.js" "hyperloop/android.animation.Animator.js" "hyperloop/android.animation.LayoutTransition$TransitionListener.js" "hyperloop/android.animation.LayoutTransition.js" "hyperloop/android.animation.StateListAnimator.js" "hyperloop/android.animation.TimeInterpolator.js" "hyperloop/android.animation.TypeEvaluator.js" "hyperloop/android.animation.ValueAnimator$AnimatorUpdateListener.js" "hyperloop/android.animation.ValueAnimator.js" "hyperloop/android.animation.js" "hyperloop/android.app.ActionBar$LayoutParams.js" "hyperloop/android.app.ActionBar$OnMenuVisibilityListener.js" "hyperloop/android.app.ActionBar$OnNavigationListener.js" "hyperloop/android.app.ActionBar$Tab.js" "hyperloop/android.app.ActionBar$TabListener.js" "hyperloop/android.app.ActionBar.js" "hyperloop/android.app.Activity.js" "hyperloop/android.app.ActivityManager$TaskDescription.js" "hyperloop/android.app.ActivityManager.js" "hyperloop/android.app.Application$ActivityLifecycleCallbacks.js" "hyperloop/android.app.Application$OnProvideAssistDataListener.js" "hyperloop/android.app.Application.js" "hyperloop/android.app.Dialog.js" "hyperloop/android.app.Fragment$InstantiationException.js" "hyperloop/android.app.Fragment$SavedState.js" "hyperloop/android.app.Fragment.js" "hyperloop/android.app.FragmentManager$BackStackEntry.js" "hyperloop/android.app.FragmentManager$OnBackStackChangedListener.js" "hyperloop/android.app.FragmentManager.js" "hyperloop/android.app.FragmentTransaction.js" "hyperloop/android.app.LoaderManager$LoaderCallbacks.js" "hyperloop/android.app.LoaderManager.js" "hyperloop/android.app.PendingIntent$CanceledException.js" "hyperloop/android.app.PendingIntent$OnFinished.js" "hyperloop/android.app.PendingIntent.js" "hyperloop/android.app.SharedElementCallback$OnSharedElementsReadyListener.js" "hyperloop/android.app.SharedElementCallback.js" "hyperloop/android.app.TaskStackBuilder.js" "hyperloop/android.app.VoiceInteractor$AbortVoiceRequest.js" "hyperloop/android.app.VoiceInteractor$CommandRequest.js" "hyperloop/android.app.VoiceInteractor$CompleteVoiceRequest.js" "hyperloop/android.app.VoiceInteractor$ConfirmationRequest.js" "hyperloop/android.app.VoiceInteractor$PickOptionRequest$Option.js" "hyperloop/android.app.VoiceInteractor$PickOptionRequest.js" "hyperloop/android.app.VoiceInteractor$Prompt.js" "hyperloop/android.app.VoiceInteractor$Request.js" "hyperloop/android.app.VoiceInteractor.js" "hyperloop/android.app.assist.AssistContent.js" "hyperloop/android.app.assist.js" "hyperloop/android.app.js" "hyperloop/android.content.BroadcastReceiver$PendingResult.js" "hyperloop/android.content.BroadcastReceiver.js" "hyperloop/android.content.ClipData$Item.js" "hyperloop/android.content.ClipData.js" "hyperloop/android.content.ClipDescription.js" "hyperloop/android.content.ComponentCallbacks.js" "hyperloop/android.content.ComponentName.js" "hyperloop/android.content.ContentProvider$PipeDataWriter.js" "hyperloop/android.content.ContentProvider.js" "hyperloop/android.content.ContentProviderClient.js" "hyperloop/android.content.ContentResolver.js" "hyperloop/android.content.ContentValues.js" "hyperloop/android.content.Context.js" "hyperloop/android.content.ContextWrapper.js" "hyperloop/android.content.DialogInterface$OnCancelListener.js" "hyperloop/android.content.DialogInterface$OnClickListener.js" "hyperloop/android.content.DialogInterface$OnDismissListener.js" "hyperloop/android.content.DialogInterface$OnKeyListener.js" "hyperloop/android.content.DialogInterface$OnMultiChoiceClickListener.js" "hyperloop/android.content.DialogInterface$OnShowListener.js" "hyperloop/android.content.DialogInterface.js" "hyperloop/android.content.Intent$FilterComparison.js" "hyperloop/android.content.Intent$ShortcutIconResource.js" "hyperloop/android.content.Intent.js" "hyperloop/android.content.IntentFilter$AuthorityEntry.js" "hyperloop/android.content.IntentFilter$MalformedMimeTypeException.js" "hyperloop/android.content.IntentFilter.js" "hyperloop/android.content.IntentSender$OnFinished.js" "hyperloop/android.content.IntentSender$SendIntentException.js" "hyperloop/android.content.IntentSender.js" "hyperloop/android.content.Loader$ForceLoadContentObserver.js" "hyperloop/android.content.Loader$OnLoadCanceledListener.js" "hyperloop/android.content.Loader$OnLoadCompleteListener.js" "hyperloop/android.content.Loader.js" "hyperloop/android.content.ServiceConnection.js" "hyperloop/android.content.SharedPreferences$Editor.js" "hyperloop/android.content.SharedPreferences$OnSharedPreferenceChangeListener.js" "hyperloop/android.content.SharedPreferences.js" "hyperloop/android.content.SyncInfo.js" "hyperloop/android.content.SyncRequest$Builder.js" "hyperloop/android.content.SyncRequest.js" "hyperloop/android.content.SyncStatusObserver.js" "hyperloop/android.content.js" "hyperloop/android.content.pm.ActivityInfo.js" "hyperloop/android.content.pm.ApplicationInfo$DisplayNameComparator.js" "hyperloop/android.content.pm.ApplicationInfo.js" "hyperloop/android.content.pm.ComponentInfo.js" "hyperloop/android.content.pm.InstrumentationInfo.js" "hyperloop/android.content.pm.PackageInfo.js" "hyperloop/android.content.pm.PackageInstaller$Session.js" "hyperloop/android.content.pm.PackageInstaller$SessionCallback.js" "hyperloop/android.content.pm.PackageInstaller$SessionInfo.js" "hyperloop/android.content.pm.PackageInstaller$SessionParams.js" "hyperloop/android.content.pm.PackageInstaller.js" "hyperloop/android.content.pm.PackageItemInfo$DisplayNameComparator.js" "hyperloop/android.content.pm.PackageItemInfo.js" "hyperloop/android.content.pm.PackageManager$NameNotFoundException.js" "hyperloop/android.content.pm.PackageManager.js" "hyperloop/android.content.pm.PermissionGroupInfo.js" "hyperloop/android.content.pm.PermissionInfo.js" "hyperloop/android.content.pm.ProviderInfo.js" "hyperloop/android.content.pm.ResolveInfo$DisplayNameComparator.js" "hyperloop/android.content.pm.ResolveInfo.js" "hyperloop/android.content.pm.ServiceInfo.js" "hyperloop/android.content.pm.js" "hyperloop/android.content.res.AssetFileDescriptor$AutoCloseInputStream.js" "hyperloop/android.content.res.AssetFileDescriptor$AutoCloseOutputStream.js" "hyperloop/android.content.res.AssetFileDescriptor.js" "hyperloop/android.content.res.AssetManager$AssetInputStream.js" "hyperloop/android.content.res.AssetManager.js" "hyperloop/android.content.res.ColorStateList.js" "hyperloop/android.content.res.Configuration.js" "hyperloop/android.content.res.Resources$NotFoundException.js" "hyperloop/android.content.res.Resources$Theme.js" "hyperloop/android.content.res.Resources.js" "hyperloop/android.content.res.TypedArray.js" "hyperloop/android.content.res.XmlResourceParser.js" "hyperloop/android.content.res.js" "hyperloop/android.database.CharArrayBuffer.js" "hyperloop/android.database.ContentObserver.js" "hyperloop/android.database.Cursor.js" "hyperloop/android.database.DataSetObserver.js" "hyperloop/android.database.DatabaseErrorHandler.js" "hyperloop/android.database.js" "hyperloop/android.database.sqlite.SQLiteClosable.js" "hyperloop/android.database.sqlite.SQLiteCursorDriver.js" "hyperloop/android.database.sqlite.SQLiteDatabase$CursorFactory.js" "hyperloop/android.database.sqlite.SQLiteDatabase.js" "hyperloop/android.database.sqlite.SQLiteProgram.js" "hyperloop/android.database.sqlite.SQLiteQuery.js" "hyperloop/android.database.sqlite.SQLiteStatement.js" "hyperloop/android.database.sqlite.SQLiteTransactionListener.js" "hyperloop/android.database.sqlite.js" "hyperloop/android.graphics.Bitmap$CompressFormat.js" "hyperloop/android.graphics.Bitmap$Config.js" "hyperloop/android.graphics.Bitmap.js" "hyperloop/android.graphics.BitmapFactory$Options.js" "hyperloop/android.graphics.BitmapFactory.js" "hyperloop/android.graphics.Canvas$EdgeType.js" "hyperloop/android.graphics.Canvas$VertexMode.js" "hyperloop/android.graphics.Canvas.js" "hyperloop/android.graphics.Color.js" "hyperloop/android.graphics.ColorFilter.js" "hyperloop/android.graphics.DrawFilter.js" "hyperloop/android.graphics.MaskFilter.js" "hyperloop/android.graphics.Matrix$ScaleToFit.js" "hyperloop/android.graphics.Matrix.js" "hyperloop/android.graphics.Movie.js" "hyperloop/android.graphics.Outline.js" "hyperloop/android.graphics.Paint$Align.js" "hyperloop/android.graphics.Paint$Cap.js" "hyperloop/android.graphics.Paint$FontMetrics.js" "hyperloop/android.graphics.Paint$FontMetricsInt.js" "hyperloop/android.graphics.Paint$Join.js" "hyperloop/android.graphics.Paint$Style.js" "hyperloop/android.graphics.Paint.js" "hyperloop/android.graphics.Path$Direction.js" "hyperloop/android.graphics.Path$FillType.js" "hyperloop/android.graphics.Path$Op.js" "hyperloop/android.graphics.Path.js" "hyperloop/android.graphics.PathEffect.js" "hyperloop/android.graphics.Picture.js" "hyperloop/android.graphics.Point.js" "hyperloop/android.graphics.PorterDuff$Mode.js" "hyperloop/android.graphics.PorterDuff.js" "hyperloop/android.graphics.Rasterizer.js" "hyperloop/android.graphics.Rect.js" "hyperloop/android.graphics.RectF.js" "hyperloop/android.graphics.Region$Op.js" "hyperloop/android.graphics.Region.js" "hyperloop/android.graphics.Shader$TileMode.js" "hyperloop/android.graphics.Shader.js" "hyperloop/android.graphics.SurfaceTexture$OnFrameAvailableListener.js" "hyperloop/android.graphics.SurfaceTexture$OutOfResourcesException.js" "hyperloop/android.graphics.SurfaceTexture.js" "hyperloop/android.graphics.Typeface.js" "hyperloop/android.graphics.Xfermode.js" "hyperloop/android.graphics.drawable.Drawable$Callback.js" "hyperloop/android.graphics.drawable.Drawable$ConstantState.js" "hyperloop/android.graphics.drawable.Drawable.js" "hyperloop/android.graphics.drawable.DrawableWrapper.js" "hyperloop/android.graphics.drawable.InsetDrawable.js" "hyperloop/android.graphics.drawable.ShapeDrawable$ShaderFactory.js" "hyperloop/android.graphics.drawable.ShapeDrawable.js" "hyperloop/android.graphics.drawable.js" "hyperloop/android.graphics.drawable.shapes.OvalShape.js" "hyperloop/android.graphics.drawable.shapes.RectShape.js" "hyperloop/android.graphics.drawable.shapes.Shape.js" "hyperloop/android.graphics.drawable.shapes.js" "hyperloop/android.graphics.js" "hyperloop/android.js" "hyperloop/android.media.AudioAttributes$Builder.js" "hyperloop/android.media.AudioAttributes.js" "hyperloop/android.media.MediaDescription$Builder.js" "hyperloop/android.media.MediaDescription.js" "hyperloop/android.media.MediaMetadata$Builder.js" "hyperloop/android.media.MediaMetadata.js" "hyperloop/android.media.Rating.js" "hyperloop/android.media.js" "hyperloop/android.media.session.MediaController$Callback.js" "hyperloop/android.media.session.MediaController$PlaybackInfo.js" "hyperloop/android.media.session.MediaController$TransportControls.js" "hyperloop/android.media.session.MediaController.js" "hyperloop/android.media.session.MediaSession$Token.js" "hyperloop/android.media.session.MediaSession.js" "hyperloop/android.media.session.PlaybackState$Builder.js" "hyperloop/android.media.session.PlaybackState$CustomAction$Builder.js" "hyperloop/android.media.session.PlaybackState$CustomAction.js" "hyperloop/android.media.session.PlaybackState.js" "hyperloop/android.media.session.js" "hyperloop/android.net.Uri$Builder.js" "hyperloop/android.net.Uri.js" "hyperloop/android.net.js" "hyperloop/android.os.BaseBundle.js" "hyperloop/android.os.Bundle.js" "hyperloop/android.os.CancellationSignal$OnCancelListener.js" "hyperloop/android.os.CancellationSignal.js" "hyperloop/android.os.Handler$Callback.js" "hyperloop/android.os.Handler.js" "hyperloop/android.os.IBinder$DeathRecipient.js" "hyperloop/android.os.IBinder.js" "hyperloop/android.os.IInterface.js" "hyperloop/android.os.Looper.js" "hyperloop/android.os.Message.js" "hyperloop/android.os.MessageQueue$IdleHandler.js" "hyperloop/android.os.MessageQueue$OnFileDescriptorEventListener.js" "hyperloop/android.os.MessageQueue.js" "hyperloop/android.os.Messenger.js" "hyperloop/android.os.Parcel.js" "hyperloop/android.os.ParcelFileDescriptor$AutoCloseInputStream.js" "hyperloop/android.os.ParcelFileDescriptor$AutoCloseOutputStream.js" "hyperloop/android.os.ParcelFileDescriptor$FileDescriptorDetachedException.js" "hyperloop/android.os.ParcelFileDescriptor$OnCloseListener.js" "hyperloop/android.os.ParcelFileDescriptor.js" "hyperloop/android.os.Parcelable$ClassLoaderCreator.js" "hyperloop/android.os.Parcelable$Creator.js" "hyperloop/android.os.Parcelable.js" "hyperloop/android.os.PatternMatcher.js" "hyperloop/android.os.PersistableBundle.js" "hyperloop/android.os.ResultReceiver.js" "hyperloop/android.os.UserHandle.js" "hyperloop/android.os.Vibrator.js" "hyperloop/android.os.js" "hyperloop/android.transition.PathMotion.js" "hyperloop/android.transition.Scene.js" "hyperloop/android.transition.Transition$EpicenterCallback.js" "hyperloop/android.transition.Transition$TransitionListener.js" "hyperloop/android.transition.Transition.js" "hyperloop/android.transition.TransitionManager.js" "hyperloop/android.transition.TransitionPropagation.js" "hyperloop/android.transition.TransitionValues.js" "hyperloop/android.transition.js" "hyperloop/android.util.AttributeSet.js" "hyperloop/android.util.DisplayMetrics.js" "hyperloop/android.util.Printer.js" "hyperloop/android.util.Property.js" "hyperloop/android.util.Size.js" "hyperloop/android.util.SizeF.js" "hyperloop/android.util.SparseArray.js" "hyperloop/android.util.SparseBooleanArray.js" "hyperloop/android.util.TypedValue.js" "hyperloop/android.util.js" "hyperloop/android.view.ActionMode$Callback.js" "hyperloop/android.view.ActionMode$Callback2.js" "hyperloop/android.view.ActionMode.js" "hyperloop/android.view.ActionProvider$VisibilityListener.js" "hyperloop/android.view.ActionProvider.js" "hyperloop/android.view.ContextMenu$ContextMenuInfo.js" "hyperloop/android.view.ContextMenu.js" "hyperloop/android.view.ContextThemeWrapper.js" "hyperloop/android.view.Display$Mode.js" "hyperloop/android.view.Display.js" "hyperloop/android.view.DragEvent.js" "hyperloop/android.view.Gravity.js" "hyperloop/android.view.InputDevice$MotionRange.js" "hyperloop/android.view.InputDevice.js" "hyperloop/android.view.InputEvent.js" "hyperloop/android.view.InputQueue$Callback.js" "hyperloop/android.view.InputQueue.js" "hyperloop/android.view.KeyCharacterMap$KeyData.js" "hyperloop/android.view.KeyCharacterMap$UnavailableException.js" "hyperloop/android.view.KeyCharacterMap.js" "hyperloop/android.view.KeyEvent$Callback.js" "hyperloop/android.view.KeyEvent$DispatcherState.js" "hyperloop/android.view.KeyEvent.js" "hyperloop/android.view.LayoutInflater$Factory.js" "hyperloop/android.view.LayoutInflater$Factory2.js" "hyperloop/android.view.LayoutInflater$Filter.js" "hyperloop/android.view.LayoutInflater.js" "hyperloop/android.view.Menu.js" "hyperloop/android.view.MenuInflater.js" "hyperloop/android.view.MenuItem$OnActionExpandListener.js" "hyperloop/android.view.MenuItem$OnMenuItemClickListener.js" "hyperloop/android.view.MenuItem.js" "hyperloop/android.view.MotionEvent$PointerCoords.js" "hyperloop/android.view.MotionEvent$PointerProperties.js" "hyperloop/android.view.MotionEvent.js" "hyperloop/android.view.SearchEvent.js" "hyperloop/android.view.SubMenu.js" "hyperloop/android.view.Surface$OutOfResourcesException.js" "hyperloop/android.view.Surface.js" "hyperloop/android.view.SurfaceHolder$BadSurfaceTypeException.js" "hyperloop/android.view.SurfaceHolder$Callback.js" "hyperloop/android.view.SurfaceHolder$Callback2.js" "hyperloop/android.view.SurfaceHolder.js" "hyperloop/android.view.TouchDelegate.js" "hyperloop/android.view.View$AccessibilityDelegate.js" "hyperloop/android.view.View$BaseSavedState.js" "hyperloop/android.view.View$DragShadowBuilder.js" "hyperloop/android.view.View$MeasureSpec.js" "hyperloop/android.view.View$OnApplyWindowInsetsListener.js" "hyperloop/android.view.View$OnAttachStateChangeListener.js" "hyperloop/android.view.View$OnClickListener.js" "hyperloop/android.view.View$OnContextClickListener.js" "hyperloop/android.view.View$OnCreateContextMenuListener.js" "hyperloop/android.view.View$OnDragListener.js" "hyperloop/android.view.View$OnFocusChangeListener.js" "hyperloop/android.view.View$OnGenericMotionListener.js" "hyperloop/android.view.View$OnHoverListener.js" "hyperloop/android.view.View$OnKeyListener.js" "hyperloop/android.view.View$OnLayoutChangeListener.js" "hyperloop/android.view.View$OnLongClickListener.js" "hyperloop/android.view.View$OnScrollChangeListener.js" "hyperloop/android.view.View$OnSystemUiVisibilityChangeListener.js" "hyperloop/android.view.View$OnTouchListener.js" "hyperloop/android.view.View.js" "hyperloop/android.view.ViewGroup$LayoutParams.js" "hyperloop/android.view.ViewGroup$MarginLayoutParams.js" "hyperloop/android.view.ViewGroup$OnHierarchyChangeListener.js" "hyperloop/android.view.ViewGroup.js" "hyperloop/android.view.ViewGroupOverlay.js" "hyperloop/android.view.ViewOutlineProvider.js" "hyperloop/android.view.ViewOverlay.js" "hyperloop/android.view.ViewParent.js" "hyperloop/android.view.ViewPropertyAnimator.js" "hyperloop/android.view.ViewStructure.js" "hyperloop/android.view.ViewTreeObserver$OnDrawListener.js" "hyperloop/android.view.ViewTreeObserver$OnGlobalFocusChangeListener.js" "hyperloop/android.view.ViewTreeObserver$OnGlobalLayoutListener.js" "hyperloop/android.view.ViewTreeObserver$OnPreDrawListener.js" "hyperloop/android.view.ViewTreeObserver$OnScrollChangedListener.js" "hyperloop/android.view.ViewTreeObserver$OnTouchModeChangeListener.js" "hyperloop/android.view.ViewTreeObserver$OnWindowAttachListener.js" "hyperloop/android.view.ViewTreeObserver$OnWindowFocusChangeListener.js" "hyperloop/android.view.ViewTreeObserver.js" "hyperloop/android.view.Window$Callback.js" "hyperloop/android.view.Window.js" "hyperloop/android.view.WindowId$FocusObserver.js" "hyperloop/android.view.WindowId.js" "hyperloop/android.view.WindowInsets.js" "hyperloop/android.view.WindowManager$BadTokenException.js" "hyperloop/android.view.WindowManager$InvalidDisplayException.js" "hyperloop/android.view.WindowManager$LayoutParams.js" "hyperloop/android.view.WindowManager.js" "hyperloop/android.view.accessibility.AccessibilityEvent.js" "hyperloop/android.view.accessibility.AccessibilityNodeInfo$AccessibilityAction.js" "hyperloop/android.view.accessibility.AccessibilityNodeInfo$CollectionInfo.js" "hyperloop/android.view.accessibility.AccessibilityNodeInfo$CollectionItemInfo.js" "hyperloop/android.view.accessibility.AccessibilityNodeInfo$RangeInfo.js" "hyperloop/android.view.accessibility.AccessibilityNodeInfo.js" "hyperloop/android.view.accessibility.AccessibilityNodeProvider.js" "hyperloop/android.view.accessibility.AccessibilityRecord.js" "hyperloop/android.view.accessibility.AccessibilityWindowInfo.js" "hyperloop/android.view.accessibility.js" "hyperloop/android.view.animation.Animation$AnimationListener.js" "hyperloop/android.view.animation.Animation$Description.js" "hyperloop/android.view.animation.Animation.js" "hyperloop/android.view.animation.Interpolator.js" "hyperloop/android.view.animation.LayoutAnimationController$AnimationParameters.js" "hyperloop/android.view.animation.LayoutAnimationController.js" "hyperloop/android.view.animation.Transformation.js" "hyperloop/android.view.animation.js" "hyperloop/android.view.inputmethod.CompletionInfo.js" "hyperloop/android.view.inputmethod.CorrectionInfo.js" "hyperloop/android.view.inputmethod.EditorInfo.js" "hyperloop/android.view.inputmethod.ExtractedText.js" "hyperloop/android.view.inputmethod.ExtractedTextRequest.js" "hyperloop/android.view.inputmethod.InputConnection.js" "hyperloop/android.view.inputmethod.js" "hyperloop/android.view.js" "hyperloop/android.widget.FrameLayout$LayoutParams.js" "hyperloop/android.widget.FrameLayout.js" "hyperloop/android.widget.SpinnerAdapter.js" "hyperloop/android.widget.Toolbar$LayoutParams.js" "hyperloop/android.widget.Toolbar$OnMenuItemClickListener.js" "hyperloop/android.widget.Toolbar.js" "hyperloop/android.widget.js" "hyperloop/com.js" "hyperloop/com.prolificinteractive.js" "hyperloop/com.prolificinteractive.materialcalendarview.CalendarDay.js" "hyperloop/com.prolificinteractive.materialcalendarview.CalendarMode.js" "hyperloop/com.prolificinteractive.materialcalendarview.DayViewDecorator.js" "hyperloop/com.prolificinteractive.materialcalendarview.DayViewFacade.js" "hyperloop/com.prolificinteractive.materialcalendarview.MaterialCalendarView$LayoutParams.js" "hyperloop/com.prolificinteractive.materialcalendarview.MaterialCalendarView$SavedState.js" "hyperloop/com.prolificinteractive.materialcalendarview.MaterialCalendarView$SelectionMode.js" "hyperloop/com.prolificinteractive.materialcalendarview.MaterialCalendarView$ShowOtherDates.js" "hyperloop/com.prolificinteractive.materialcalendarview.MaterialCalendarView$State.js" "hyperloop/com.prolificinteractive.materialcalendarview.MaterialCalendarView$StateBuilder.js" "hyperloop/com.prolificinteractive.materialcalendarview.MaterialCalendarView.js" "hyperloop/com.prolificinteractive.materialcalendarview.OnDateSelectedListener.js" "hyperloop/com.prolificinteractive.materialcalendarview.OnMonthChangedListener.js" "hyperloop/com.prolificinteractive.materialcalendarview.OnRangeSelectedListener.js" "hyperloop/com.prolificinteractive.materialcalendarview.format.DayFormatter.js" "hyperloop/com.prolificinteractive.materialcalendarview.format.TitleFormatter.js" "hyperloop/com.prolificinteractive.materialcalendarview.format.WeekDayFormatter.js" "hyperloop/com.prolificinteractive.materialcalendarview.format.js" "hyperloop/com.prolificinteractive.materialcalendarview.js" "hyperloop/com.prolificinteractive.materialcalendarview.spans.DotSpan.js" "hyperloop/com.prolificinteractive.materialcalendarview.spans.js" "hyperloop/java.io.File.js" "hyperloop/java.io.FileDescriptor.js" "hyperloop/java.io.FileFilter.js" "hyperloop/java.io.FileInputStream.js" "hyperloop/java.io.FileOutputStream.js" "hyperloop/java.io.FilenameFilter.js" "hyperloop/java.io.FilterOutputStream.js" "hyperloop/java.io.IOException.js" "hyperloop/java.io.InputStream.js" "hyperloop/java.io.OutputStream.js" "hyperloop/java.io.PrintStream.js" "hyperloop/java.io.PrintWriter.js" "hyperloop/java.io.Reader.js" "hyperloop/java.io.Serializable.js" "hyperloop/java.io.Writer.js" "hyperloop/java.io.js" "hyperloop/java.js" "hyperloop/java.lang.AbstractStringBuilder.js" "hyperloop/java.lang.Appendable.js" "hyperloop/java.lang.Boolean.js" "hyperloop/java.lang.Byte.js" "hyperloop/java.lang.Class.js" "hyperloop/java.lang.ClassLoader.js" "hyperloop/java.lang.Double.js" "hyperloop/java.lang.Enum.js" "hyperloop/java.lang.Exception.js" "hyperloop/java.lang.Float.js" "hyperloop/java.lang.Integer.js" "hyperloop/java.lang.Iterable.js" "hyperloop/java.lang.Long.js" "hyperloop/java.lang.Number.js" "hyperloop/java.lang.Object.js" "hyperloop/java.lang.Package.js" "hyperloop/java.lang.Runnable.js" "hyperloop/java.lang.Short.js" "hyperloop/java.lang.String.js" "hyperloop/java.lang.StringBuffer.js" "hyperloop/java.lang.StringBuilder.js" "hyperloop/java.lang.Thread$State.js" "hyperloop/java.lang.Thread$UncaughtExceptionHandler.js" "hyperloop/java.lang.Thread.js" "hyperloop/java.lang.ThreadGroup.js" "hyperloop/java.lang.Throwable$PrintStreamOrWriter.js" "hyperloop/java.lang.Throwable.js" "hyperloop/java.lang.annotation.Annotation.js" "hyperloop/java.lang.annotation.js" "hyperloop/java.lang.js" "hyperloop/java.lang.reflect.AccessibleObject.js" "hyperloop/java.lang.reflect.AnnotatedType.js" "hyperloop/java.lang.reflect.Constructor.js" "hyperloop/java.lang.reflect.Executable.js" "hyperloop/java.lang.reflect.Field.js" "hyperloop/java.lang.reflect.Method.js" "hyperloop/java.lang.reflect.Type.js" "hyperloop/java.lang.reflect.js" "hyperloop/java.net.ContentHandler.js" "hyperloop/java.net.ContentHandlerFactory.js" "hyperloop/java.net.DatagramPacket.js" "hyperloop/java.net.DatagramSocket.js" "hyperloop/java.net.DatagramSocketImpl.js" "hyperloop/java.net.DatagramSocketImplFactory.js" "hyperloop/java.net.FileNameMap.js" "hyperloop/java.net.InetAddress.js" "hyperloop/java.net.NetworkInterface.js" "hyperloop/java.net.ProtocolFamily.js" "hyperloop/java.net.Proxy$Type.js" "hyperloop/java.net.Proxy.js" "hyperloop/java.net.ServerSocket.js" "hyperloop/java.net.Socket.js" "hyperloop/java.net.SocketAddress.js" "hyperloop/java.net.SocketImpl.js" "hyperloop/java.net.SocketImplFactory.js" "hyperloop/java.net.SocketOption.js" "hyperloop/java.net.URI.js" "hyperloop/java.net.URL.js" "hyperloop/java.net.URLConnection.js" "hyperloop/java.net.URLStreamHandler.js" "hyperloop/java.net.URLStreamHandlerFactory.js" "hyperloop/java.net.js" "hyperloop/java.nio.Buffer.js" "hyperloop/java.nio.ByteBuffer.js" "hyperloop/java.nio.ByteOrder.js" "hyperloop/java.nio.DoubleBuffer.js" "hyperloop/java.nio.FloatBuffer.js" "hyperloop/java.nio.IntBuffer.js" "hyperloop/java.nio.LongBuffer.js" "hyperloop/java.nio.MappedByteBuffer.js" "hyperloop/java.nio.ShortBuffer.js" "hyperloop/java.nio.channels.AsynchronousFileChannel.js" "hyperloop/java.nio.channels.Channel.js" "hyperloop/java.nio.channels.CompletionHandler.js" "hyperloop/java.nio.channels.DatagramChannel.js" "hyperloop/java.nio.channels.FileChannel$MapMode.js" "hyperloop/java.nio.channels.FileChannel.js" "hyperloop/java.nio.channels.FileLock.js" "hyperloop/java.nio.channels.NetworkChannel.js" "hyperloop/java.nio.channels.Pipe$SinkChannel.js" "hyperloop/java.nio.channels.Pipe$SourceChannel.js" "hyperloop/java.nio.channels.Pipe.js" "hyperloop/java.nio.channels.ReadableByteChannel.js" "hyperloop/java.nio.channels.SeekableByteChannel.js" "hyperloop/java.nio.channels.SelectableChannel.js" "hyperloop/java.nio.channels.SelectionKey.js" "hyperloop/java.nio.channels.Selector.js" "hyperloop/java.nio.channels.ServerSocketChannel.js" "hyperloop/java.nio.channels.SocketChannel.js" "hyperloop/java.nio.channels.WritableByteChannel.js" "hyperloop/java.nio.channels.js" "hyperloop/java.nio.channels.spi.AbstractInterruptibleChannel.js" .... {quote} (I had to remove some of the output because of the max limit of JIRA) * Test project: https://github.com/m1ga/Ti.CalendarView * Hyperloop 2.1.1 Compile time at the end: Project built successfully in 4m 35s 88ms

Comments

  1. Andrea Vitale 2017-07-09

    Same thing for me: [INFO] Project built successfully in 4m 56s 522ms to build the hyperloop-samples app. Please give us an hint on how to reduce this huge amount of time!
  2. Brian burns 2017-07-25

    Same here: [INFO] : Project built successfully in 4m 43s 971ms Please provide a work around or something.
  3. Hans Knöchel 2017-07-25

    Hey guys, quick heads up here! We are working on a fix already, although the ticket state was not updated, yet. It will part of Hyperloop 2.2.0 next month and include a completely rewritten file-watcher for improved compile team. Please hold tight! :-)
  4. AppDev 2017-08-18

    what kind of improvement are you seeing on this? will it be down to reasonable build times with hyperloop?
  5. Brian Knorr 2017-08-25

    This is unbearable...when will the fix be out? It's taking over 5 minutes for us to build on Android now.
  6. Jan Vennemann 2017-08-28

    Hey Guys, just a quick update on this and a few words about the expected performance. Since this is a major change to the internal Android Hyperloop build, we are currently writing some extended tests for this to make sure everything works as expected. With this fix, Hyperloop will also no longer copy any generated wrapper files into the Resources directory of your app. To get an idea about the performance increase here are some numbers from my machine with the [hyperloop-examples](https://github.com/appcelerator/hyperloop-examples) app: Hyperloop 2.1.3: 2m 16s 983ms Hyperloop 2.2.0 (first build): Total 38s 502ms, Hyperloop: 6s 444ms Hyperloop 2.2.0 (subsequent build, no changes): Total: 33s 373ms, Hyperloop: 2s 337ms Hyperloop 2.2.0 (subsequent build, new native types used): Total: 37s 61ms, Hyperloop: 4s 57ms Looking at the above numbers you can see the build is significantly faster now. The build time on subsequent builds heavily depends on the amount of new native types you use compared to the previous build as this triggers the complete Hyperloop build pipeline for the new set of types. The current release estimate for Hyperloop 2.2.0 with this improvement is mid to late September, so hang in there just a little longer!
  7. Michael Gangolf 2017-08-28

    (y) nice! That will make it useful, looking forward to the next release
  8. AppDev 2017-08-28

    Make it happen asap! ;-)
  9. Jan Vennemann 2017-09-05

    PR (master): https://github.com/appcelerator/hyperloop.next/pull/205
  10. AppDev 2017-10-02

    Since this is already marked "Resolved", is there a timeframe for the Hyperloop 2.2 release?
  11. Hans Knöchel 2017-10-02

    This week!
  12. Lokesh Choudhary 2017-10-02

    Verified the fix. Build time are lower now with 2.2.0RC2 than with 2.1.3. Closing. Studio Ver: 4.10.0.201709271713 SDK Ver: 6.2.2.GA OS Ver: 10.12.3 Xcode Ver: Xcode 8.3.3 Appc NPM: 4.2.9 Appc CLI: 6.2.4 Ti CLI Ver: 5.0.14 Alloy Ver: 1.9.14 Node Ver: 7.10.1 Java Ver: 1.8.0_101 Devices: ⇨ google Pixel --- Android 7.1.1 Hyperloop: 2.2.0RC2
  13. AppDev 2017-10-11

    We would really love to see releases more frequently for Hyperloop. This is a showstopper bug!
  14. Creative 2017-10-16

    We need more releases for compile time in general. Titanium development is 90% waiting and 10% coding. Liveview doesnt work without studio (and nobody uses studio because its sluggish) so thats not a solution either. Compile time should be a MAX of 20 seconds for either platform. Not *[INFO] Project built successfully in 3m 43s 779ms*
  15. Rodolfo Perottoni 2017-11-20

    I'm on an i7/16gb/256GBSSD Mac. 5-7+ minutes build time. I don't know how to maintain apps anymore with such crazy build times.
  16. Brian Knorr 2017-11-20

    Same here...we are on the latest Ti sdk and Hyperloop, but still seeing 4+ minute build times on Android. It's completely unacceptable. And our machines are the most expensive mac book pros you can buy.
  17. Hans Knöchel 2017-11-20

    To confirm: You are sure to use Hyperloop 2.2.x (2.2.2 is the latest)? Ensure by specifying the version="2.2.2" node in your tiapp.xml. Thx!
  18. Brian Knorr 2017-11-20

    Yes and we are seeing build times of ~3 minutes on Android without including Hyperloop. It spends the majority of the time on the "Processing javascript files" stage. This is happening with our clients that have medium sized Alloy projects with 100+ controllers.
  19. Creative 2017-11-20

    I concur, build times are outrageous. Just dumping some ideas here to improve compile time: - only recompile files that have changed - stop minifying for dev builds I know it can be done, in fact I have seen acceptable compiletimes in the past with Liveview. Liveview needs to work outside of the studio context though using a simple "--liveview" parameter for "appc ti build". In fact, it should be enabled by default. Compile-time should really be sub 20s, it might even be fair to demand < 5s.
  20. Michael Gangolf 2017-11-20

  21. Jan Vennemann 2017-11-20

    As [~btknorr] and others already noticed, this is only partly related to Hyperloop. In fact, Hyperloop now makes use of heavy caching on all of its build steps and only acts on changed files. This should really be noticeable on incremental builds. The remaining issue is the unnecessary processing of JS files which indeed takes a long time on larger projects. We already identified a few bugs in our build verification on Android which we are currently addressing in CLI-1278 and TIMOB-25508. If some of you could provide complete trace logs of your larger project builds and attach them to TIMOB-25240 that would also help a lot. Thanks guys!
  22. Brian Knorr 2017-11-20

    I added my trace log to the ticket like you suggested...hopefully it will help. Thanks!

JSON Source